The cloneStateIfGlobalStateLoaded() method of JSONEntityState is called before any change is made to the entity state.
This method starts with the following check:
if( isStateNotCloned() )
// Do the clone
And the (private) isStateNotCloned() method returns:
status == EntityStatus.LOADED
IOW, the code says that it will clone state if status is loaded, but it does the opposite!
See discussion: http://s.apache.org/1QI