return new ChildNodeJoinCondition(parentSelector, childSelector);
}
if (joinCondition instanceof DescendantNodeJoinCondition) {
DescendantNodeJoinCondition condition = (DescendantNodeJoinCondition)joinCondition;
SelectorName ancestor = condition.ancestorSelectorName();
SelectorName descendant = condition.descendantSelectorName();
if (ancestor.equals(viewName)) ancestor = sourceName;
if (descendant.equals(viewName)) descendant = sourceName;
if (ancestor == condition.ancestorSelectorName() && descendant == condition.descendantSelectorName()) return condition;
node.addSelector(ancestor, descendant);
return new DescendantNodeJoinCondition(ancestor, descendant);