private void derivedDerivative(Object[] idDerivedAndResults, ExecutionContext context, List expansionList) throws FunctionDomainException, TypeMismatchException, NameResolutionException, QueryInvocationTargetException { String idDerived = (String) idDerivedAndResults[0]; SelectResults results = (SelectResults) idDerivedAndResults[1]; RuntimeIterator ritr = getMatchingRuntimeIterator(idDerived, expansionList); List remainingOps = this.getRemainingOps(); Iterator iterator = results.iterator(); while (iterator.hasNext()) { Object val = iterator.next(); ritr.setCurrent(val); createDerivedJoinResultsFromOpsList(idDerived, context, remainingOps); } }