switch (operator.type()) {
case XAQLToken.EXISTS_PREDICATE:
return new ExistsCondition(targetPath, quantifier, negated);
case XAQLToken.HAS_CHANGES_PREDICATE:
if (tokens.size() > index) {
return new HasChangesCondition(targetPath, quantifier, negated, this.getProvenanceCondition(tokens.get(index), versionIndex));
} else {
return new HasChangesCondition(targetPath, quantifier, negated);
}
case XAQLToken.WAS_MODIFIED_PREDICATE:
if (tokens.size() > index) {
return new WasModifiedCondition(targetPath, quantifier, negated, this.getProvenanceCondition(tokens.get(index), versionIndex));
} else {