code: public void obtrudeException(Throwable ex) {
          if (ex == null) throw new NullPointerException();
          result = new AltResult(ex);
          postComplete();
      }
docs: Forcibly causes subsequent invocations of method {@link #get()}
  and related methods to throw the given exception, whether or
  not already completed. This method is designed for use only in
  error recovery actions, and even in such situations may result
  in ongoing dependent completions using established versus
  overwritten outcomes.
  
  @param ex the exception
  @throws NullPointerException if the exception is null