question: 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 ; } } } }
target:  Puts the tasks on the specified queue. May be more complicated in the future.