public void blockingRun(final Task<?> task, final String planClass) {
    """
	Runs the given task. 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.
	<p>
	This method blocks until Engine has a capacity to run the task. Engine's capacity is
	specified by a {@value #MAX_CONCURRENT_PLANS} configuration property. Use
	{@link EngineBuilder#setEngineProperty(String, Object)} to set this property.
	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".
	
	@param task the task to run
	@param planClass string that identifies a "class" of the Plan. Plan class ends up in a ParSeq
	Trace and can be used to group traces into "classes" when traces are statistically analyzed.
    """
    try {
      acquirePermit(planClass);
      runWithPermit(task, planClass);
    } catch (InterruptedException e) {
      Thread.currentThread().interrupt();
    }
  }
public void blockingRun(final Task<?> task, final String planClass) {
    try {
      acquirePermit(planClass);
      runWithPermit(task, planClass);
    } catch (InterruptedException e) {
      Thread.currentThread().interrupt();
    }
  }
public void blockingRun ( final Task < ? > task , final String planClass ) { try { acquirePermit ( planClass ) ; runWithPermit ( task , planClass ) ; } catch ( InterruptedException e ) { Thread . currentThread ( ) . interrupt ( ) ; } }
Runs the given task. 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.
<p>
This method blocks until Engine has a capacity to run the task. Engine's capacity is
specified by a {@value #MAX_CONCURRENT_PLANS} configuration property. Use
{@link EngineBuilder#setEngineProperty(String, Object)} to set this property.
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".

@param task the task to run
@param planClass string that identifies a "class" of the Plan. Plan class ends up in a ParSeq
Trace and can be used to group traces into "classes" when traces are statistically analyzed.
Runs the given task . 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 . <p > This method blocks until Engine has a capacity to run the task . Engine s capacity is specified by a { @value #MAX_CONCURRENT_PLANS } configuration property . Use { @link EngineBuilder#setEngineProperty ( String Object ) } to set this property . 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 .