---- Theoretically, if such a static method takes in arg1, arg2, ... and change their 'state', then either:
--------1. arg1, arg2, should be members of a separate class Class1 and assigned through constructor
--------2. the operation carried out by this static method should be part of classes of arg1, arg2 ....
- Hard to mock and Unit Test
Practically, however, most people don't ban it in entirety.
+ Could potentially save memory in multithread operation (the Utility object itself is read-only by the thread as it contains no state, hence no race or deadlock) - e.g. Stateless session bean pool in J2EE?
+ Examples of existing implementation:
How To Design A Good API and Why it Matters