private Observable < Indexable > invokeReadyTasksAsync ( final InvocationContext context ) { TaskGroupEntry < TaskItem > readyTaskEntry = super . getNext ( ) ; final List < Observable < Indexable > > observables = new ArrayList <> ( ) ; // Enumerate the ready tasks (those with dependencies resolved) and kickoff them concurrently // while ( readyTaskEntry != null ) { final TaskGroupEntry < TaskItem > currentEntry = readyTaskEntry ; final TaskItem currentTaskItem = currentEntry . data ( ) ; if ( currentTaskItem instanceof ProxyTaskItem ) { observables . add ( invokeAfterPostRunAsync ( currentEntry , context ) ) ; } else { observables . add ( invokeTaskAsync ( currentEntry , context ) ) ; } readyTaskEntry = super . getNext ( ) ; } return Observable . mergeDelayError ( observables ) ; }
Invokes the ready tasks .