Reports static variables being lazily initialized in an non-thread-safe manner. Lazy initialization of static variables should be done in an appropriate synchronization construct, to prevent different threads from performing conflicting initialization.

If applicable, quick-fix is suggested which introduces static holder pattern described in http://en.wikipedia.org/wiki/Initialization_on_demand_holder_idiom where the JVM guarantees thread-safety of such initializations.