code: public void essential(final Consumer<OnComplete> fn) {
          this.essential = fn; //set - could also be called on a separate thread
          if (done) { //can be called again
              fn.accept(buildOnComplete());
          }
      }
docs: Called at least once on complete