I came across the following:
class Foo {
  static {
    // setup for logging and configuration
  }
  public static void setup() {
    // do nothing
  }
}
Is this idiomatic Java code? Are there specific reasons this should be avoided?
This was found in a test suite.
My initial concern was that initialization could theoretically happen without calling #setup().
 
     
     
    