private void gatherDisjunctions ( Disjunction disjunction , List < Term > expressions ) { // Left argument. gatherDisjunctionsExploreArgument ( disjunction . getArguments ( ) [ 0 ] , expressions ) ; // Right argument. gatherDisjunctionsExploreArgument ( disjunction . getArguments ( ) [ 1 ] , expressions ) ; }
Gathers the functors to compile as a sequence of choice points . These exist as the arguments to disjunctions recursively below the supplied disjunction . They are flattened into a list by performing a left - to - right depth first traversal over the disjunctions and adding their arguments into a list .