code: static <T> boolean dispose(AtomicReferenceFieldUpdater<T, Disposable> updater, T holder) {
  		Disposable current = updater.get(holder);
  		Disposable d = DISPOSED;
  		if (current != d) {
  			current = updater.getAndSet(holder, d);
  			if (current != d) {
  				if (current != null) {
  					current.dispose();
  				}
  				return true;
  			}
  		}
  		return false;
  	}
docs: Atomically dispose the {@link Disposable} in the field if not already disposed.
  
  @param updater the target field updater
  @param holder the target instance holding the field
  @return true if the {@link Disposable} held by the field was properly disposed