protect reflection with synchronized blocks