code: @Restricted(NoExternalUse.class)
      public synchronized final void maybeComplete() {
          assert this.executor != null;
          if (result != null) {
              executor.completedAsynchronous(result != NULL ? result : null);
              result = null;
          }
      }
docs: If there is a pending completion notification, deliver it to the executor.
  Must be called after {@link #setExecutorWithoutCompleting(Executor)}.