...
However, because the helper field of class Foo is not properly synchronized, it is possible that the Foo.getHelper() method will return a reference to a partially or incorrectly setHelperd set helper object, if invoked from a separate thread.
...