RuntimeIterator getRuntimeIteratorForThisIndex(ExecutionContext context) {
    List<RuntimeIterator> indItrs = context.getCurrentIterators();
    Region rgn = getRegion();
    if (rgn instanceof BucketRegion) {
      rgn = ((Bucket) rgn).getPartitionedRegion();
    }
    String regionPath = rgn.getFullPath();
    String definition = getCanonicalizedIteratorDefinitions()[0];
    for (RuntimeIterator itr : indItrs) {
      if (itr.getDefinition().equals(regionPath) || itr.getDefinition().equals(definition)) {
        return itr;
      }
    }
    return null;
  }
Matches the Collection reference in given context for this index's from-clause in all current
independent collection references associated to the context. For example, if a join Query has
"/region1 p, region2 e" from clause context contains two region references for p and e and
Index could be used for any of those of both of those regions.

Note: This Index contains its own from clause definition which corresponds to a region
collection reference in given context and must be contained at 0th index in
{@link AbstractIndex#canonicalizedDefinitions}.

@return {@link RuntimeIterator} this should not be null ever.
geode-core/src/main/java/org/apache/geode/cache/query/internal/index/AbstractIndex.java