core/src/main/java/com/orientechnologies/orient/core/sql/operator/OQueryOperator.java
public OIndexCursor executeIndexQuery(OCommandContext iContext, OIndex<?> index, final List<Object> keyParams,
      boolean ascSortOrder) {
    return null;
  }
public OIndexCursor executeIndexQuery(OCommandContext iContext, OIndex<?> index, final List<Object> keyParams,
      boolean ascSortOrder) {
    return null;
  }
public OIndexCursor executeIndexQuery ( OCommandContext iContext , OIndex < ? > index , final List < Object > keyParams , boolean ascSortOrder ) { return null ; }
Performs index query and returns index cursor which presents subset of index data which corresponds to result of execution of
given operator.

<p/>
Query that should be executed can be presented like: [[property0 = keyParam0] and [property1 = keyParam1] and] propertyN
operator keyParamN.
<p/>
It is supped that index which passed in as parameter is used to index properties listed above and responsibility of given
method execute query using given parameters.
<p/>
Multiple parameters are passed in to implement composite indexes support.


@param iContext
@param index
Instance of index that will be used to calculate result of operator execution.
@param keyParams
Parameters of query is used to calculate query result.
@param ascSortOrder
Data returned by cursors should be sorted in ascending or descending order.
@return Cursor instance if index can be used to evaluate result of execution of given operator and <code>null</code> otherwise.
Performs index query and returns index cursor which presents subset of index data which corresponds to result of execution of given operator .