private int lookupIdForValue(@NotNull V value) throws IOException {
    int hash = valueDescriptor.getHashCode(value);
    int valueHash = HashUtils.adjustHash(hash);
    return valueHashToId.lookup(valueHash, candidateId -> {
      V candidateKey = valuesLog.read(candidateId, valueDescriptor::read);
      return valueDescriptor.isEqual(candidateKey, value);
    });
  }
private int lookupIdForValue(@NotNull V value)