innerPlan.connect( input, gen );
}
foreach.setInnerPlan( innerPlan );
foreach.setAlias(union.getAlias());
Pair<Integer, Integer> pair = plan.disconnect( pred, union );
plan.add( foreach );
plan.connect( pred, pair.first, foreach, 0 );
plan.connect( foreach, 0, union, pair.second );
}