ProcessingComponent left = createComponent(originalQuery, context, node.getFirstChild(), columns, analyzer);
ProcessingComponent right = createComponent(originalQuery, context, node.getLastChild(), columns, analyzer);
// Create the join component ...
JoinAlgorithm algorithm = node.getProperty(Property.JOIN_ALGORITHM, JoinAlgorithm.class);
JoinType joinType = node.getProperty(Property.JOIN_TYPE, JoinType.class);
JoinCondition joinCondition = node.getProperty(Property.JOIN_CONDITION, JoinCondition.class);
switch (algorithm) {
case MERGE:
if (joinCondition instanceof SameNodeJoinCondition) {
SameNodeJoinCondition condition = (SameNodeJoinCondition)joinCondition;
component = new MergeJoinComponent(context, left, right, condition, joinType);