public final void trackedAction(Core controller) throws InterruptedException {
  long time=System.currentTimeMillis();
  statistics.useNow();
  action(controller);
  time=System.currentTimeMillis() - time;
  statistics.updateAverageExecutionTime(time);
}

public final void trackedAction ( Core controller ) throws InterruptedException { long time = System . currentTimeMillis ( ) ; statistics . useNow ( ) ; action ( controller ) ; time = System . currentTimeMillis ( ) - time ; statistics . updateAverageExecutionTime ( time ) ; }
perform the action and track the statistics related to this action .
