code: public boolean completeExceptionally(final Throwable throwable) {
          synchronized (lock) {
              if (isDone()) {
                  return false;
              }
              this.throwable = throwable;
              lock.notifyAll();
              return true;
          }
      }
docs: This method enables to exceptionally complete the future with the given {@code throwable}.
  It will be nothing changed if the future was already completed or canceled in advance.
  
  @param throwable the throwable used to exceptionally complete the future.
  
  @return if this invocation caused this CompletableFuture to be done, than {@code true} is returned. Otherwise {@code false} is returned.