private Object convertToIndexKey(Object key, RegionEntry entry) throws TypeMismatchException {
    Object newKey;
    if (IndexManager.isObjectModificationInplace() && entryToValuesMap.containsKey(entry)) {
      newKey = entryToValuesMap.get(entry);
    } else {
      newKey = TypeUtils.indexKeyFor(key);
    }
    return newKey;
  }
Find the old key by traversing the forward map in case of in-place update modification If not
found it means the value object was modified with same value. So oldKey is same as newKey.
geode-core/src/main/java/org/apache/geode/cache/query/internal/index/MemoryIndexStore.java