for(EObject loopChild : template.getChildrenFrom(forLoop.getTElement(), forLoop.getOLReference(), context)){
if(canAllocateAddTo(loopChild, tiChild)){
grayPath.setLeaf(loopChild);
allocations.add(new NewIterationAddAllocation(grayPath, addRightToParamElem, context));
} else if(TIfStatement.isTIfStatement(loopChild)){
TIfStatement ifStatement = new TIfStatement(loopChild, context, template);
grayPath.add(ifStatement.getTElement());
allocateToElementInIfStatement(ifStatement, addRightToParamElem,
AllocationType.FOR_NEWIT, grayPath, tiChild, context, allocations);
} else if(TForLoop.isTForLoop(loopChild)){
TForLoop childForLoop = new TForLoop(loopChild, context, template);
grayPath.add(childForLoop.getTElement());