Reports synchronization on a call to getClass().
If the class containing the synchronization is subclassed, the subclass will synchronize on a different class object.
Usually the call to getClass() can be replaced with a class literal expression, for example String.class.
An even better solution is synchronizing on a private static final lock object, access to which can be completely controlled.
New in 2016.2