code: public RunResult beginRequest() throws Exception {
          if (paused) {
              return RunResult.REJECTED;
          }
          if(trackIndividualControlPoints) {
              activeRequestCountUpdater.incrementAndGet(this);
          }
          RunResult runResult = controller.beginRequest(false);
          if (runResult == RunResult.REJECTED) {
              decreaseRequestCount();
          }
          return runResult;
      }
docs: All tasks entering the system via this entry point must call this method. If it returns REJECTED then the
  task cannot be run, and its failure should be signaled back to the originator.
  <p/>
  If it returns {@code RUN} then the task should proceed as normal, and the {@link #requestComplete()} method
  must be called once the task is complete, usually via a try/finally construct.