added some synchronization code to allow FieldRef.getField() to be executed in a thread-safe manner when phantom fields are created