final BasicOperator rightSide = node.jjtGetChild(1).accept(this, connection, graphConstraint, subject, object, subjectNode, objectNode);
final Union union = new Union();
leftSide.addSucceedingOperator(new OperatorIDTuple(union,0));
rightSide.addSucceedingOperator(new OperatorIDTuple(union,1));
final Projection projection = new Projection();
projection.addProjectionElement(subject);
projection.addProjectionElement(object);
if(graphConstraint!=null && graphConstraint.isVariable() && !graphConstraint.equals(getItem(subjectNode)) && !graphConstraint.equals(getItem(objectNode))) {
projection.addProjectionElement((Variable)graphConstraint);
}
union.addSucceedingOperator(new OperatorIDTuple(projection,0));