final Root ic, final TripleOperator tp, final Item a,
final Item b, final Item c, final String filter1,
final String filter2, final TriplePattern tp1,
final TriplePattern tp2) {
try {
final Filter f1 = new Filter(filter1);
final Filter f2 = new Filter(filter2);
final Generate g = new Generate(tp, a, b, c);
final Join join = new Join();
f1.addSucceedingOperator(new OperatorIDTuple(join, 0));
f2.addSucceedingOperator(new OperatorIDTuple(join, 1));
join.addSucceedingOperator(new OperatorIDTuple(g, 0));
tp1.setSucceedingOperator(new OperatorIDTuple(f1, 0));
tp2.setSucceedingOperator(new OperatorIDTuple(f2, 0));
final Collection<TriplePattern> ctp1 = new LinkedList<TriplePattern>();
ctp1.add(tp1);