core/src/main/java/com/orientechnologies/orient/core/sql/OChainedIndexProxy.java
public static <T> Collection<OChainedIndexProxy<T>> createProxies(OClass iSchemaClass, OSQLFilterItemField.FieldChain longChain) {
    List<OChainedIndexProxy<T>> proxies = new ArrayList<OChainedIndexProxy<T>>();

    for (List<OIndex<?>> indexChain : getIndexesForChain(iSchemaClass, longChain)) {
      proxies.add(new OChainedIndexProxy<T>(indexChain));
    }

    return proxies;
  }
public static <T> Collection<OChainedIndexProxy<T>> createProxies(OClass iSchemaClass, OSQLFilterItemField.FieldChain longChain) {
    List<OChainedIndexProxy<T>> proxies = new ArrayList<OChainedIndexProxy<T>>();

    for (List<OIndex<?>> indexChain : getIndexesForChain(iSchemaClass, longChain)) {
      proxies.add(new OChainedIndexProxy<T>(indexChain));
    }

    return proxies;
  }
public static < T > Collection < OChainedIndexProxy < T > > createProxies ( OClass iSchemaClass , OSQLFilterItemField . FieldChain longChain ) { List < OChainedIndexProxy < T >> proxies = new ArrayList < OChainedIndexProxy < T > > ( ) ; for ( List < OIndex < ? > > indexChain : getIndexesForChain ( iSchemaClass , longChain ) ) { proxies . add ( new OChainedIndexProxy < T > ( indexChain ) ) ; } return proxies ; }
Create proxies that support maximum number of different operations. In case when several different indexes which support
different operations (e.g. indexes of {@code UNIQUE} and {@code FULLTEXT} types) are possible, the creates the only one index
of each type.

@param longChain - property chain from the query, which should be evaluated

@return proxies needed to process query.
Create proxies that support maximum number of different operations . In case when several different indexes which support different operations ( e . g . indexes of { @code UNIQUE } and { @code FULLTEXT } types ) are possible the creates the only one index of each type .