public static <U,W>AtomicReferenceFieldUpdater<U,W> newAtomicReferenceFieldUpdater(Class<U> tClass,Class<W> vClass,String fieldName){
  try {
    return new UnsafeAtomicReferenceFieldUpdater<>(JUnsafe.getUnsafe(),tClass,fieldName);
  }
 catch (  Throwable t) {
    return AtomicReferenceFieldUpdater.newUpdater(tClass,vClass,fieldName);
  }
}

public static < U , W > AtomicReferenceFieldUpdater < U , W > newAtomicReferenceFieldUpdater ( Class < U > tClass , Class < W > vClass , String fieldName ) { try { return new UnsafeAtomicReferenceFieldUpdater < > ( JUnsafe . getUnsafe ( ) , tClass , fieldName ) ; } catch ( Throwable t ) { return AtomicReferenceFieldUpdater . newUpdater ( tClass , vClass , fieldName ) ; } }
creates and returns an updater for objects with the given field .
