question: @ CallerSensitive public static < U > AtomicLongFieldUpdater < U > newUpdater ( Class < U > tclass , String fieldName ) { Class < ? > caller = Reflection . getCallerClass ( ) ; if ( AtomicLong . VM_SUPPORTS_LONG_CAS ) return new CASUpdater < U > ( tclass , fieldName , caller ) ; else return new LockedUpdater < U > ( tclass , fieldName , caller ) ; }
target:  Creates and returns an updater for objects with the given field. The Class argument is needed to check that reflective types and generic types match.