Join join, Map<String, PropertyValue> columns,
OperandEvaluator evaluator, QueryObjectModelFactory factory,
EquiJoinCondition condition) throws RepositoryException {
super(join, columns, evaluator, factory);
PropertyValue property1 = factory.propertyValue(
condition.getSelector1Name(), condition.getProperty1Name());
PropertyValue property2 = factory.propertyValue(
condition.getSelector2Name(), condition.getProperty2Name());
if (leftSelectors.contains(property1.getSelectorName())
&& rightSelectors.contains(property2.getSelectorName())) {
leftProperty = property1;
rightProperty = property2;
} else if (leftSelectors.contains(property2.getSelectorName())
&& rightSelectors.contains(property1.getSelectorName())) {
leftProperty = property2;
rightProperty = property1;
} else {
throw new RepositoryException("Invalid equi-join");