docs: boolean trySetError(Exception error) {
      synchronized (lock) {
        if (complete) {
          return false;
        }
        complete = true;
        Task.this.error = error;
        errorHasBeenObserved = false;
        lock.notifyAll();
        runContinuations();
        if (!errorHasBeenObserved && getUnobservedExceptionHandler() != null)
          unobservedErrorNotifier = new UnobservedErrorNotifier(this);
        return true;
      }
    }