code: @Restricted(NoExternalUse.class)
      public synchronized final void setExecutorWithoutCompleting(@Nonnull Executor executor) {
          assert this.executor == null;
          this.executor = executor;
      }
docs: Set the executor without notifying it about task completion.
  The caller <b>must</b> also call {@link #maybeComplete()}
  after releasing any problematic locks.