protected void scheduleTasks(Set<TaskImageContainer> tasks){
synchronized (mShadowTaskMap) {
    for (    TaskImageContainer task : tasks) {
      ImageShadowTask shadowTask=mShadowTaskMap.get(task.mSession);
      if (shadowTask == null) {
        throw new IllegalStateException("Scheduling a task with a unknown session.");
      }
switch (task.getProcessingPriority()) {
case FAST:
        mThreadPoolFast.execute(new TaskDoneWrapper(this,shadowTask,task));
      break;
case AVERAGE:
    mThreadPoolAverage.execute(new TaskDoneWrapper(this,shadowTask,task));
  break;
case SLOW:
mThreadPoolSlow.execute(new TaskDoneWrapper(this,shadowTask,task));
break;
default :
mThreadPoolSlow.execute(new TaskDoneWrapper(this,shadowTask,task));
break;
}
}
}
}

protected void scheduleTasks ( Set < TaskImageContainer > tasks ) { synchronized ( mShadowTaskMap ) { for ( TaskImageContainer task : tasks ) { ImageShadowTask shadowTask = mShadowTaskMap . get ( task . mSession ) ; if ( shadowTask == null ) { throw new IllegalStateException ( "Scheduling a task with a unknown session." ) ; } switch ( task . getProcessingPriority ( ) ) { case FAST : mThreadPoolFast . execute ( new TaskDoneWrapper ( this , shadowTask , task ) ) ; break ; case AVERAGE : mThreadPoolAverage . execute ( new TaskDoneWrapper ( this , shadowTask , task ) ) ; break ; case SLOW : mThreadPoolSlow . execute ( new TaskDoneWrapper ( this , shadowTask , task ) ) ; break ; default : mThreadPoolSlow . execute ( new TaskDoneWrapper ( this , shadowTask , task ) ) ; break ; } } } }
puts the tasks on the specified queue . may be more complicated in the future .
