code: @Nullable
  	public static <T> Throwable terminate(AtomicReferenceFieldUpdater<T, Throwable> field,
  			T instance) {
  		Throwable current = field.get(instance);
  		if (current != TERMINATED) {
  			current = field.getAndSet(instance, TERMINATED);
  		}
  		return current;
  	}
docs: Atomic utility to safely mark a volatile throwable reference with a terminal
  marker.
  
  @param field the atomic container
  @param instance the reference instance
  @param <T> the instance type
  
  @return the previously masked throwable