And and = (And) constraint;
split(constraintSplitInfo, and.getConstraint1());
split(constraintSplitInfo, and.getConstraint2());
} else if (constraint instanceof Or) {
if (isReferencingBothSides(getSelectorNames(constraint))) {
Or or = (Or) constraint;
//the problem here is when you split an OR that has both condition sides referencing both join sides.
// it should split into 2 joins
constraintSplitInfo.splitOr();
split(constraintSplitInfo.getLeftInnerConstraints(), or.getConstraint1());
split(constraintSplitInfo.getRightInnerConstraints(),or.getConstraint2());
} else {
splitBySelectors(constraintSplitInfo, constraint, getSelectorNames(constraint));
}
} else {
splitBySelectors(constraintSplitInfo, constraint, getSelectorNames(constraint));