final BasicOperator startingOperator =tripleSet.jjtGetChild(1).jjtGetChild(0).accept(this, connection, graphConstraint, subject, object, subjectNode, objectNode);
final InMemoryDistinct memoryDistinct = new InMemoryDistinct();
final Filter filter = new Filter("(" + subject + " != " + object + ")");
startingOperator.addSucceedingOperator(new OperatorIDTuple(filter,0));
startingOperator.addSucceedingOperator(connection.getOperatorIDTuple());
final Join intermediateJoinOperator = new Join();
replaceVar.addSucceedingOperator(new OperatorIDTuple(memoryDistinct,0));
memoryDistinct.addSucceedingOperator(new OperatorIDTuple(intermediateJoinOperator,1));
filter.addSucceedingOperator(new OperatorIDTuple(intermediateJoinOperator,0));