@Override
  public CloseableIterator<IndexStoreEntry> iterator(Object start, boolean startInclusive,
      Object end, boolean endInclusive, Collection keysToRemove) {
    // REMOVE THESE CHECKS ONCE nulls are supported
    // These checks will help us get past a certain number of tests but not all of them
    // order by and what not will still probably fail
    if (start == null) {
      return descendingIterator(end, endInclusive, keysToRemove);
    } else if (end == null) {
      return iterator(start, startInclusive, keysToRemove);
    }
    return new MapIndexStoreIterator(indexMap.iterator(start, startInclusive, end, endInclusive),
        keysToRemove, indexOnValues, indexOnRegionKeys);
  }
Implementation of IndexStorage that is backed by an IndexMap
geode-core/src/main/java/org/apache/geode/cache/query/internal/index/MapIndexStore.java