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