protected <T>void runTasks(final List<AbstractTask<T>> tasks) throws InterruptedException {
  if (log.isInfoEnabled())   log.info("begin : will run " + tasks.size() + " update tasks");
  if (resourceManager.overflowTasksConcurrent == 1) {
    runTasksInSingleThread(tasks);
  }
 else {
    runTasksConcurrent(tasks);
  }
  if (log.isInfoEnabled())   log.info("end");
}

protected < T > void runTasks ( final List < AbstractTask < T > > tasks ) throws InterruptedException { if ( log . isInfoEnabled ( ) ) log . info ( "begin : will run " + tasks . size ( ) + " update tasks" ) ; if ( resourceManager . overflowTasksConcurrent == 1 ) { runTasksInSingleThread ( tasks ) ; } else { runTasksConcurrent ( tasks ) ; } if ( log . isInfoEnabled ( ) ) log . info ( "end" ) ; }
submit all tasks , awaiting their completion and check their futures for errors .
