code: private synchronized void retainEvaluator(final ActiveContext context) {
      if (scheduler.hasPendingTasks()) {
        scheduler.submitTask(context);
      } else if (nActiveEval > 1) {
        nActiveEval--;
        context.close();
      } else {
        state = State.READY;
        waitForCommands(context);
      }
    }
docs: Retain the complete evaluators submitting another task
  until there is no need to reuse them.