private void analyzeQueryBranch(final OClass iSchemaClass, final OSQLFilterCondition iCondition,
final List<OSearchInIndexTriple> iSearchInIndexTriples) {
if (iCondition == null)
return;
final OQueryOperator operator = iCondition.getOperator();
if (operator == null)
if (iCondition.getLeft() != null && iCondition.getRight() == null) {
analyzeQueryBranch(iSchemaClass, (OSQLFilterCondition) iCondition.getLeft(), iSearchInIndexTriples);
return;
} else {
return;
}
final OIndexReuseType indexReuseType = operator.getIndexReuseType(iCondition.getLeft(), iCondition.getRight());
if (indexReuseType.equals(OIndexReuseType.ANY_INDEX)) {
analyzeQueryBranch(iSchemaClass, (OSQLFilterCondition) iCondition.getLeft(), iSearchInIndexTriples);
analyzeQueryBranch(iSchemaClass, (OSQLFilterCondition) iCondition.getRight(), iSearchInIndexTriples);
} else if (indexReuseType.equals(OIndexReuseType.INDEX_METHOD)) {
if (!searchIndexedProperty(iSchemaClass, iCondition, iCondition.getLeft(), iSearchInIndexTriples))