final Item b, final Item c, final String filter,
final TriplePattern tp2) {
try {
final Filter f = new Filter(filter);
final Generate g = new Generate(tp, a, b, c);
f.addSucceedingOperator(new OperatorIDTuple(g, 0));
tp2.setSucceedingOperator(new OperatorIDTuple(f, 0));
final Collection<TriplePattern> ctp = new LinkedList<TriplePattern>();
ctp.add(tp2);
ic.addSucceedingOperator(new OperatorIDTuple(ic.newIndexScan(
new OperatorIDTuple(f, 0), ctp, null), 0));