}
node.addSelector(sourceColumn.selectorName());
return new PropertyValue(sourceColumn.selectorName(), sourceColumn.getPropertyName());
}
if (operand instanceof ReferenceValue) {
ReferenceValue value = (ReferenceValue)operand;
if (!mapping.getOriginalName().equals(value.selectorName())) return value;
Column sourceColumn = mapping.getMappedColumn(value.getPropertyName());
if (sourceColumn == null) return value;
node.addSelector(sourceColumn.selectorName());
return new ReferenceValue(sourceColumn.selectorName(), sourceColumn.getPropertyName());
}
if (operand instanceof NodeDepth) {
NodeDepth depth = (NodeDepth)operand;
if (!mapping.getOriginalName().equals(depth.selectorName())) return depth;
if (!mapping.isMappedToSingleSelector()) return depth;