private ObjectType createIndexResultSetType() {
      List currentIterators = initContext.getCurrentIterators();
      int len = currentIterators.size();
      ObjectType type = null;
      ObjectType[] fieldTypes = new ObjectType[len];
      int start = isFirstItrOnEntry ? 0 : 1;
      for (; start < len; start++) {
        RuntimeIterator iter = (RuntimeIterator) currentIterators.get(start);
        fieldTypes[start] = iter.getElementType();
      }
      if (!isFirstItrOnEntry) {
        fieldTypes[0] = addnlProjType;
      }
      type = (len == 1) ? fieldTypes[0] : new StructTypeImpl(canonicalIterNames, fieldTypes);
      return type;
    }
@param add true if adding, false if removing from index
geode-core/src/main/java/org/apache/geode/cache/query/internal/index/CompactRangeIndex.java