@Override
  public void removeMapping(Object indexKey, RegionEntry re) throws IMQException {
    // Remove from forward map
    boolean found = basicRemoveMapping(indexKey, re, true);
    // Remove from reverse map.
    // We do NOT need to synchronize here as different RegionEntries will be
    // operating concurrently i.e. different keys in entryToValuesMap which
    // is a concurrent map.
    if (found && IndexManager.isObjectModificationInplace()) {
      entryToValuesMap.remove(re);
    }
  }
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