code: public boolean tryRun(final Task<?> task, final String planClass) {
      if (tryAcquirePermit(planClass)) {
        runWithPermit(task, planClass);
        return true;
      } else {
        return false;
      }
    }
docs: Runs the given task if Engine has a capacity to start new plan as specified by
  {@value #MAX_CONCURRENT_PLANS} configuration parameter.
  For the sake of backwards compatibility default value for a {@value #MAX_CONCURRENT_PLANS} is
  {@value #DEFUALT_MAX_CONCURRENT_PLANS} which essentially means "unbounded capacity".
  Task passed in as a parameter becomes a root on a new Plan.
  All tasks created and started as a consequence of a root task will belong to that plan and will share a Trace.
  This method returns immediately and does not block. It returns {@code true} if Plan was successfully started.
  @param task the task to run
  @param planClass string that identifies a "class" of the Plan
  @return true if Plan was started