1 <p> This method contains an unsynchronized lazy initialization of a non-volatile static field.
2 Because the compiler or processor may reorder instructions,
3 threads are not guaranteed to see a completely initialized object,
4 <em>if the method can be called by multiple threads</em>.
5 You can make the field volatile to correct the problem.
6 For more information, see the
7 <a href="http://www.cs.umd.edu/~pugh/java/memoryModel/">Java Memory Model web site</a>.