You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@baremaps.apache.org by bc...@apache.org on 2023/07/31 20:49:53 UTC

[incubator-baremaps] 07/14: Fix some warnings

This is an automated email from the ASF dual-hosted git repository.

bchapuis pushed a commit to branch 681-handle-the-out-of-memory-errors
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git

commit 95be2b6d7244390e17ce94744bd2b9ed7a8d2ce1
Author: Bertil Chapuis <bc...@gmail.com>
AuthorDate: Wed Jul 12 14:57:30 2023 +0200

    Fix some warnings
---
 .../collection/Long2LongOpenHashDataMap.java       | 433 +++++++++++-------
 .../collection/Long2LongPackedOpenHashDataMap.java | 367 +++++++++------
 .../collection/Long2ObjectOpenHashDataMap.java     | 505 ++++++++++++++-------
 3 files changed, 812 insertions(+), 493 deletions(-)

diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongOpenHashDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongOpenHashDataMap.java
index ef8bc548..00e374be 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongOpenHashDataMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongOpenHashDataMap.java
@@ -35,31 +35,31 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
   /**
    * The array of keys.
    */
-  protected transient AbstractDataList<Long> key;
+  protected AbstractDataList<Long> key;
   /**
    * The array of values.
    */
-  protected transient AbstractDataList<Long> value;
+  protected AbstractDataList<Long> value;
   /**
    * The mask for wrapping a position counter.
    */
-  protected transient long mask;
+  protected long mask;
   /**
    * Whether this map contains the key zero.
    */
-  protected transient boolean containsNullKey;
+  protected boolean containsNullKey;
   /**
    * The current table size.
    */
-  protected transient long n;
+  protected long n;
   /**
    * Threshold after which we rehash. It must be the table size times {@link #f}.
    */
-  protected transient long maxFill;
+  protected long maxFill;
   /**
    * We never resize below this threshold, which is the construction-time {#n}.
    */
-  protected final transient long minN;
+  protected final long minN;
   /**
    * Number of entries in the set (including the key zero, if present).
    */
@@ -71,18 +71,16 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
   /**
    * Cached set of entries.
    */
-  protected transient FastEntrySet entries;
+  protected FastEntrySet entries;
 
   /**
    * Cached set of keys.
    */
-  protected transient LongSet keys;
+  protected LongSet keys;
   /**
    * Cached collection of values.
    */
-  protected transient LongCollection values;
-
-  private Supplier<AbstractDataList<Long>> listSupplier;
+  protected LongCollection values;
 
   /**
    * Creates a new hash map.
@@ -98,10 +96,12 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
       float f,
       Supplier<AbstractDataList<Long>> keySupplier,
       Supplier<AbstractDataList<Long>> valueSupplier) {
-    if (f <= 0 || f >= 1)
+    if (f <= 0 || f >= 1) {
       throw new IllegalArgumentException("Load factor must be greater than 0 and smaller than 1");
-    if (expected < 0)
-      throw new IllegalArgumentException("The expected number of elements must be nonnegative");
+    }
+    if (expected < 0) {
+      throw new IllegalArgumentException("The expected number of elements must be non-negative");
+    }
     this.f = f;
     this.minN = n = bigArraySize(expected, f);
     this.mask = n - 1;
@@ -118,23 +118,26 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
 
   private void ensureCapacity(final long capacity) {
     final long needed = bigArraySize(capacity, f);
-    if (needed > n)
+    if (needed > n) {
       rehash(needed);
+    }
   }
 
   private void tryCapacity(final long capacity) {
     final long needed =
         Math.min(1 << 30, Math.max(2, HashCommon.nextPowerOfTwo((long) Math.ceil(capacity / f))));
-    if (needed > n)
+    if (needed > n) {
       rehash(needed);
+    }
   }
 
   private long removeEntry(final long pos) {
     final long oldValue = value.get(pos);
     size.decrementAndGet();
     shiftKeys(pos);
-    if (n > minN && size.get() < maxFill / 4 && n > DEFAULT_INITIAL_SIZE)
+    if (n > minN && size.get() < maxFill / 4 && n > DEFAULT_INITIAL_SIZE) {
       rehash(n / 2);
+    }
     return oldValue;
   }
 
@@ -142,48 +145,55 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     containsNullKey = false;
     final long oldValue = value.get(n);
     size.decrementAndGet();
-    if (n > minN && size.get() < maxFill / 4 && n > DEFAULT_INITIAL_SIZE)
+    if (n > minN && size.get() < maxFill / 4 && n > DEFAULT_INITIAL_SIZE) {
       rehash(n / 2);
+    }
     return oldValue;
   }
 
   @Override
   public void putAll(Map<? extends Long, ? extends Long> m) {
-    if (f <= .5)
-      ensureCapacity(m.size()); // The resulting map will be sized for m.size() elements
-    else
-      tryCapacity(size() + m.size()); // The resulting map will be tentatively sized for size() +
-                                      // m.size()
-    // elements
+    if (f <= .5) {
+      ensureCapacity(m.size());
+    } else {
+      tryCapacity(sizeAsLong() + m.size());
+    }
     super.putAll(m);
   }
 
   private long find(final long k) {
-    if (((k) == (0)))
+    if (((k) == 0)) {
       return containsNullKey ? n : -(n + 1);
+    }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == (0)))
+    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
       return -(pos + 1);
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return pos;
+    }
     // There's always an unused entry.
     while (true) {
-      if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+      if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
         return -(pos + 1);
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return pos;
+      }
     }
   }
 
   private void insert(final long pos, final long k, final long v) {
-    if (pos == n)
+    if (pos == n) {
       containsNullKey = true;
+    }
     key.set(pos, k);
     value.set(pos, v);
-    if (size.getAndIncrement() >= maxFill)
+    if (size.getAndIncrement() >= maxFill) {
       rehash(bigArraySize(size.get() + 1, f));
+    }
   }
 
   @Override
@@ -219,20 +229,24 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
    */
   public long addTo(final long k, final long incr) {
     long pos;
-    if (((k) == (0))) {
-      if (containsNullKey)
+    if (((k) == 0)) {
+      if (containsNullKey) {
         return addToValue(n, incr);
+      }
       pos = n;
       containsNullKey = true;
     } else {
       long curr;
       // The starting point.
-      if (!((curr = key.get(pos = HashCommon.mix((k)) & mask)) == (0))) {
-        if (((curr) == (k)))
+      if (!((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
+        if (((curr) == (k))) {
           return addToValue(pos, incr);
-        while (!((curr = key.get(pos = (pos + 1) & mask)) == (0)))
-          if (((curr) == (k)))
+        }
+        while (!((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
+          if (((curr) == (k))) {
             return addToValue(pos, incr);
+          }
+        }
       }
     }
     key.set(pos, k);
@@ -255,13 +269,14 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     for (;;) {
       pos = ((last = pos) + 1) & mask;
       for (;;) {
-        if (((curr = key.get(pos)) == (0))) {
+        if (((curr = key.get(pos)) == 0)) {
           key.set(last, 0L);
           return;
         }
         slot = HashCommon.mix((curr)) & mask;
-        if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos)
+        if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos) {
           break;
+        }
         pos = (pos + 1) & mask;
       }
       key.set(last, curr);
@@ -272,75 +287,93 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
   @Override
 
   public long remove(final long k) {
-    if (((k) == (0))) {
-      if (containsNullKey)
+    if (((k) == 0)) {
+      if (containsNullKey) {
         return removeNullEntry();
+      }
       return defRetValue;
     }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == (0)))
+    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
       return defRetValue;
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return removeEntry(pos);
+    }
     while (true) {
-      if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+      if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
         return defRetValue;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return removeEntry(pos);
+      }
     }
   }
 
   @Override
 
   public long get(final long k) {
-    if (((k) == (0)))
+    if (((k) == 0)) {
       return containsNullKey ? value.get(n) : defRetValue;
+    }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == (0)))
+    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
       return defRetValue;
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return value.get(pos);
+    }
     // There's always an unused entry.
     while (true) {
-      if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+      if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
         return defRetValue;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return value.get(pos);
+      }
     }
   }
 
   @Override
 
   public boolean containsKey(final long k) {
-    if (((k) == (0)))
+    if (((k) == 0)) {
       return containsNullKey;
+    }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == (0)))
+    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
       return false;
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return true;
+    }
     // There's always an unused entry.
     while (true) {
-      if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+      if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
         return false;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return true;
+      }
     }
   }
 
   @Override
   public boolean containsValue(final long v) {
-    if (containsNullKey && ((value.get(n)) == (v)))
+    if (containsNullKey && ((value.get(n)) == (v))) {
       return true;
-    for (long i = n; i-- != 0;)
-      if (!((key.get(i)) == (0)) && ((value.get(i)) == (v)))
+    }
+    for (long i = n; i-- != 0;) {
+      if (!((key.get(i)) == 0) && ((value.get(i)) == (v))) {
         return true;
+      }
+    }
     return false;
   }
 
@@ -350,21 +383,26 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
   @Override
 
   public long getOrDefault(final long k, final long defaultValue) {
-    if (((k) == (0)))
+    if (((k) == 0)) {
       return containsNullKey ? value.get(n) : defaultValue;
+    }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == (0)))
+    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
       return defaultValue;
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return value.get(pos);
+    }
     // There's always an unused entry.
     while (true) {
-      if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+      if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
         return defaultValue;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return value.get(pos);
+      }
     }
   }
 
@@ -374,8 +412,9 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
   @Override
   public long putIfAbsent(final long k, final long v) {
     final long pos = find(k);
-    if (pos >= 0)
+    if (pos >= 0) {
       return value.get(pos);
+    }
     insert(-pos - 1, k, v);
     return defRetValue;
   }
@@ -386,7 +425,7 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
   @Override
 
   public boolean remove(final long k, final long v) {
-    if (((k) == (0))) {
+    if (((k) == 0)) {
       if (containsNullKey && ((v) == (value.get(n)))) {
         removeNullEntry();
         return true;
@@ -396,15 +435,17 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     long curr;
     long pos;
     // The starting point.
-    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == (0)))
+    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
       return false;
+    }
     if (((k) == (curr)) && ((v) == (value.get(pos)))) {
       removeEntry(pos);
       return true;
     }
     while (true) {
-      if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+      if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
         return false;
+      }
       if (((k) == (curr)) && ((v) == (value.get(pos)))) {
         removeEntry(pos);
         return true;
@@ -418,8 +459,9 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
   @Override
   public boolean replace(final long k, final long oldValue, final long v) {
     final long pos = find(k);
-    if (pos < 0 || !((oldValue) == (value.get(pos))))
+    if (pos < 0 || !(oldValue == (value.get(pos)))) {
       return false;
+    }
     value.set(pos, v);
     return true;
   }
@@ -430,8 +472,9 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
   @Override
   public long replace(final long k, final long v) {
     final long pos = find(k);
-    if (pos < 0)
+    if (pos < 0) {
       return defRetValue;
+    }
     final long oldValue = value.get(pos);
     value.set(pos, v);
     return oldValue;
@@ -445,8 +488,9 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
       final java.util.function.LongUnaryOperator mappingFunction) {
     java.util.Objects.requireNonNull(mappingFunction);
     final long pos = find(k);
-    if (pos >= 0)
+    if (pos >= 0) {
       return value.get(pos);
+    }
     final long newValue = mappingFunction.applyAsLong(k);
     insert(-pos - 1, k, newValue);
     return newValue;
@@ -459,10 +503,12 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
   public long computeIfAbsent(final long key, final Long2LongFunction mappingFunction) {
     java.util.Objects.requireNonNull(mappingFunction);
     final long pos = find(key);
-    if (pos >= 0)
+    if (pos >= 0) {
       return value.get(pos);
-    if (!mappingFunction.containsKey(key))
+    }
+    if (!mappingFunction.containsKey(key)) {
       return defRetValue;
+    }
     final long newValue = mappingFunction.get(key);
     insert(-pos - 1, key, newValue);
     return newValue;
@@ -476,12 +522,14 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
       final java.util.function.LongFunction<? extends Long> mappingFunction) {
     java.util.Objects.requireNonNull(mappingFunction);
     final long pos = find(k);
-    if (pos >= 0)
+    if (pos >= 0) {
       return value.get(pos);
+    }
     final Long newValue = mappingFunction.apply(k);
-    if (newValue == null)
+    if (newValue == null) {
       return defRetValue;
-    final long v = (newValue).longValue();
+    }
+    final long v = newValue;
     insert(-pos - 1, k, v);
     return v;
   }
@@ -490,21 +538,24 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
    * {@inheritDoc}
    */
   @Override
-  public long computeIfPresent(final long k,
+  public long computeIfPresent(
+      final long k,
       final java.util.function.BiFunction<? super Long, ? super Long, ? extends Long> remappingFunction) {
     java.util.Objects.requireNonNull(remappingFunction);
     final long pos = find(k);
-    if (pos < 0)
+    if (pos < 0) {
       return defRetValue;
-    final Long newValue = remappingFunction.apply(Long.valueOf(k), Long.valueOf(value.get(pos)));
+    }
+    final Long newValue = remappingFunction.apply(k, value.get(pos));
     if (newValue == null) {
-      if (((k) == (0)))
+      if (((k) == 0)) {
         removeNullEntry();
-      else
+      } else {
         removeEntry(pos);
+      }
       return defRetValue;
     }
-    long newVal = (newValue).longValue();
+    long newVal = newValue;
     value.set(pos, newVal);
     return newVal;
   }
@@ -513,22 +564,24 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
    * {@inheritDoc}
    */
   @Override
-  public long compute(final long k,
+  public long compute(
+      final long k,
       final java.util.function.BiFunction<? super Long, ? super Long, ? extends Long> remappingFunction) {
     java.util.Objects.requireNonNull(remappingFunction);
     final long pos = find(k);
     final Long newValue =
-        remappingFunction.apply(Long.valueOf(k), pos >= 0 ? Long.valueOf(value.get(pos)) : null);
+        remappingFunction.apply(k, pos >= 0 ? value.get(pos) : null);
     if (newValue == null) {
       if (pos >= 0) {
-        if (((k) == (0)))
+        if (((k) == 0)) {
           removeNullEntry();
-        else
+        } else {
           removeEntry(pos);
+        }
       }
       return defRetValue;
     }
-    long newVal = (newValue).longValue();
+    long newVal = newValue;
     if (pos < 0) {
       insert(-pos - 1, k, newVal);
       return newVal;
@@ -544,24 +597,21 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
   public long merge(final long k, final long v,
       final java.util.function.BiFunction<? super Long, ? super Long, ? extends Long> remappingFunction) {
     java.util.Objects.requireNonNull(remappingFunction);
-
     final long pos = find(k);
     if (pos < 0) {
-      if (pos < 0)
-        insert(-pos - 1, k, v);
-      else
-        value.set(pos, v);
+      insert(-pos - 1, k, v);
       return v;
     }
-    final Long newValue = remappingFunction.apply(Long.valueOf(value.get(pos)), Long.valueOf(v));
+    final Long newValue = remappingFunction.apply(value.get(pos), v);
     if (newValue == null) {
-      if (((k) == (0)))
+      if (((k) == 0)) {
         removeNullEntry();
-      else
+      } else {
         removeEntry(pos);
+      }
       return defRetValue;
     }
-    long newVal = (newValue).longValue();
+    long newVal = newValue;
     value.set(pos, newVal);
     return newVal;
   }
@@ -575,11 +625,11 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
    */
   @Override
   public void clear() {
-    if (size.get() == 0)
+    if (size.get() == 0) {
       return;
+    }
     size.set(0);
     containsNullKey = false;
-    // TODO: Arrays.fill(key, (0));
   }
 
   @Override
@@ -653,7 +703,7 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     @Deprecated
     @Override
     public Long getKey() {
-      return Long.valueOf(key.get(index));
+      return key.get(index);
     }
 
     /**
@@ -664,7 +714,7 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     @Deprecated
     @Override
     public Long getValue() {
-      return Long.valueOf(value.get(index));
+      return value.get(index);
     }
 
     /**
@@ -675,14 +725,15 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     @Deprecated
     @Override
     public Long setValue(final Long v) {
-      return Long.valueOf(setValue((v).longValue()));
+      return setValue((v).longValue());
     }
 
     @SuppressWarnings("unchecked")
     @Override
     public boolean equals(final Object o) {
-      if (!(o instanceof Map.Entry))
+      if (!(o instanceof Map.Entry)) {
         return false;
+      }
       Map.Entry<Long, Long> e = (Map.Entry<Long, Long>) o;
       return ((key.get(index)) == ((e.getKey()).longValue()))
           && ((value.get(index)) == ((e.getValue()).longValue()));
@@ -737,8 +788,9 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     }
 
     public long nextEntry() {
-      if (!hasNext())
+      if (!hasNext()) {
         throw new NoSuchElementException();
+      }
       c--;
       if (mustReturnNullKey) {
         mustReturnNullKey = false;
@@ -748,14 +800,16 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
         if (--pos < 0) {
           // We are just enumerating elements from the wrapped list.
           last = Integer.MIN_VALUE;
-          final long k = wrapped.getLong((int) -pos - 1); // TODO: check if -pos - 1 is correct
+          final long k = wrapped.getLong((int) -pos - 1);
           long p = (int) HashCommon.mix((k)) & mask;
-          while (!((k) == (key.get(p))))
+          while (!(k == (key.get(p)))) {
             p = (p + 1) & mask;
+          }
           return p;
         }
-        if (!((key.get(pos)) == (0)))
+        if (!(key.get(pos) == 0)) {
           return last = pos;
+        }
       }
     }
 
@@ -771,11 +825,12 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
           last = Integer.MIN_VALUE;
           final long k = wrapped.getLong((int) -pos - 1); // TODO: check if -pos - 1 is correct
           long p = (int) HashCommon.mix((k)) & mask;
-          while (!((k) == (key.get(p))))
+          while (!(k == (key.get(p)))) {
             p = (p + 1) & mask;
+          }
           acceptOnIndex(action, p);
           c--;
-        } else if (!((key.get(pos)) == (0))) {
+        } else if (!(key.get(pos) == 0)) {
           acceptOnIndex(action, last = pos);
           c--;
         }
@@ -795,18 +850,20 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
       for (;;) {
         pos = ((last = pos) + 1) & mask;
         for (;;) {
-          if (((curr = key.get(pos)) == (0))) {
+          if (((curr = key.get(pos)) == 0)) {
             key.set(last, 0L);
             return;
           }
           slot = (int) HashCommon.mix((curr)) & mask;
-          if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos)
+          if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos) {
             break;
+          }
           pos = (pos + 1) & mask;
         }
         if (pos < last) { // Wrapped entry.
-          if (wrapped == null)
+          if (wrapped == null) {
             wrapped = new LongArrayList(2);
+          }
           wrapped.add(key.get(pos));
         }
         key.set(last, curr);
@@ -815,17 +872,16 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     }
 
     public void remove() {
-      if (last == -1)
+      if (last == -1) {
         throw new IllegalStateException();
+      }
       if (last == n) {
         containsNullKey = false;
-      } else if (pos >= 0)
+      } else if (pos >= 0) {
         shiftKeys(last);
-      else {
+      } else {
         // We're removing wrapped entries.
-        Long2LongOpenHashDataMap.this.remove(wrapped.getLong((int) -pos - 1)); // TODO: check if
-                                                                               // -pos - 1
-        // is correct
+        Long2LongOpenHashDataMap.this.remove(wrapped.getLong((int) -pos - 1));
         last = -1; // Note that we must not decrement size
         return;
       }
@@ -835,8 +891,9 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
 
     public int skip(final int n) {
       int i = n;
-      while (i-- != 0 && hasNext())
+      while (i-- != 0 && hasNext()) {
         nextEntry();
+      }
       return n - i - 1;
     }
   }
@@ -853,7 +910,7 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
 
     // forEachRemaining inherited from MapIterator superclass.
     @Override
-    final void acceptOnIndex(final Consumer<? super Long2LongMap.Entry> action, final long index) {
+    void acceptOnIndex(final Consumer<? super Long2LongMap.Entry> action, final long index) {
       action.accept(entry = new Long2LongOpenHashDataMap.MapEntry(index));
     }
 
@@ -877,7 +934,7 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
 
     // forEachRemaining inherited from MapIterator superclass.
     @Override
-    final void acceptOnIndex(final Consumer<? super Long2LongMap.Entry> action, final long index) {
+    void acceptOnIndex(final Consumer<? super Long2LongMap.Entry> action, final long index) {
       entry.index = index;
       action.accept(entry);
     }
@@ -924,7 +981,7 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
         return true;
       }
       while (pos < max) {
-        if (!((key.get(pos)) == (0))) {
+        if (!(key.get(pos) == 0)) {
           ++c;
           acceptOnIndex(action, pos++);
           return true;
@@ -941,7 +998,7 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
         acceptOnIndex(action, n);
       }
       while (pos < max) {
-        if (!((key.get(pos)) == (0))) {
+        if (!(key.get(pos) == 0)) {
           acceptOnIndex(action, pos);
           ++c;
         }
@@ -964,11 +1021,13 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     }
 
     public SplitType trySplit() {
-      if (pos >= max - 1)
+      if (pos >= max - 1) {
         return null;
+      }
       long retLen = (max - pos) >> 1;
-      if (retLen <= 1)
+      if (retLen <= 1) {
         return null;
+      }
       long myNewPos = pos + retLen;
       long retPos = pos;
       long retMax = myNewPos;
@@ -984,10 +1043,12 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     }
 
     public long skip(long n) {
-      if (n < 0)
+      if (n < 0) {
         throw new IllegalArgumentException("Argument must be nonnegative: " + n);
-      if (n == 0)
+      }
+      if (n == 0) {
         return 0;
+      }
       long skipped = 0;
       if (mustReturnNull) {
         mustReturnNull = false;
@@ -995,7 +1056,7 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
         --n;
       }
       while (pos < max && n > 0) {
-        if (!((key.get(pos++)) == (0))) {
+        if (!(key.get(pos++) == 0)) {
           ++skipped;
           --n;
         }
@@ -1023,12 +1084,12 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     }
 
     @Override
-    final void acceptOnIndex(final Consumer<? super Long2LongMap.Entry> action, final long index) {
+    void acceptOnIndex(final Consumer<? super Long2LongMap.Entry> action, final long index) {
       action.accept(new Long2LongOpenHashDataMap.MapEntry(index));
     }
 
     @Override
-    final Long2LongOpenHashDataMap.EntrySpliterator makeForSplit(long pos, long max,
+    Long2LongOpenHashDataMap.EntrySpliterator makeForSplit(long pos, long max,
         boolean mustReturnNull) {
       return new Long2LongOpenHashDataMap.EntrySpliterator(pos, max, mustReturnNull, true);
     }
@@ -1060,46 +1121,56 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     @Override
 
     public boolean contains(final Object o) {
-      if (!(o instanceof Map.Entry))
+      if (!(o instanceof Map.Entry)) {
         return false;
+      }
       final Map.Entry<?, ?> e = (Map.Entry<?, ?>) o;
-      if (e.getKey() == null || !(e.getKey() instanceof Long))
+      if (e.getKey() == null || !(e.getKey() instanceof Long)) {
         return false;
-      if (e.getValue() == null || !(e.getValue() instanceof Long))
+      }
+      if (e.getValue() == null || !(e.getValue() instanceof Long)) {
         return false;
-      final long k = ((Long) (e.getKey())).longValue();
-      final long v = ((Long) (e.getValue())).longValue();
-      if (((k) == (0)))
+      }
+      final long k = (Long) (e.getKey());
+      final long v = (Long) (e.getValue());
+      if (((k) == 0)) {
         return Long2LongOpenHashDataMap.this.containsNullKey && ((value.get(n)) == (v));
+      }
       long curr;
       long pos;
       // The starting point.
-      if (((curr = key.get(pos = (int) HashCommon.mix((k)) & mask)) == (0)))
+      if (((curr = key.get(pos = (int) HashCommon.mix((k)) & mask)) == 0)) {
         return false;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return ((value.get(pos)) == (v));
+      }
       // There's always an unused entry.
       while (true) {
-        if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+        if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
           return false;
-        if (((k) == (curr)))
+        }
+        if (((k) == (curr))) {
           return ((value.get(pos)) == (v));
+        }
       }
     }
 
     @Override
-
     public boolean remove(final Object o) {
-      if (!(o instanceof Map.Entry))
+      if (!(o instanceof Map.Entry)) {
         return false;
+      }
       final Map.Entry<?, ?> e = (Map.Entry<?, ?>) o;
-      if (e.getKey() == null || !(e.getKey() instanceof Long))
+      if (e.getKey() == null || !(e.getKey() instanceof Long)) {
         return false;
-      if (e.getValue() == null || !(e.getValue() instanceof Long))
+      }
+      if (e.getValue() == null || !(e.getValue() instanceof Long)) {
         return false;
-      final long k = ((Long) (e.getKey())).longValue();
-      final long v = ((Long) (e.getValue())).longValue();
-      if (((k) == (0))) {
+      }
+      final long k = (Long) e.getKey();
+      final long v = (Long) e.getValue();
+      if (((k) == 0)) {
         if (containsNullKey && ((value.get(n)) == (v))) {
           removeNullEntry();
           return true;
@@ -1109,8 +1180,9 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
       long curr;
       long pos;
       // The starting point.
-      if (((curr = key.get(pos = (int) HashCommon.mix((k)) & mask)) == (0)))
+      if (((curr = key.get(pos = (int) HashCommon.mix((k)) & mask)) == 0)) {
         return false;
+      }
       if (((curr) == (k))) {
         if (((value.get(pos)) == (v))) {
           removeEntry(pos);
@@ -1119,8 +1191,9 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
         return false;
       }
       while (true) {
-        if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+        if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
           return false;
+        }
         if (((curr) == (k))) {
           if (((value.get(pos)) == (v))) {
             removeEntry(pos);
@@ -1140,11 +1213,14 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
      */
     @Override
     public void forEach(final Consumer<? super Long2LongMap.Entry> consumer) {
-      if (containsNullKey)
+      if (containsNullKey) {
         consumer.accept(new AbstractLong2LongMap.BasicEntry(key.get(n), value.get(n)));
-      for (long pos = n; pos-- != 0;)
-        if (!((key.get(pos)) == (0)))
+      }
+      for (long pos = n; pos-- != 0;) {
+        if (!(key.get(pos) == 0)) {
           consumer.accept(new AbstractLong2LongMap.BasicEntry(key.get(pos), value.get(pos)));
+        }
+      }
     }
 
     /**
@@ -1155,17 +1231,19 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
       if (containsNullKey) {
         consumer.accept(new AbstractLong2LongMap.BasicEntry(key.get(n), value.get(n)));
       }
-      for (long pos = n; pos-- != 0;)
-        if (!((key.get(pos)) == (0))) {
+      for (long pos = n; pos-- != 0;) {
+        if (!(key.get(pos) == 0)) {
           consumer.accept(new AbstractLong2LongMap.BasicEntry(key.get(pos), value.get(pos)));
         }
+      }
     }
   }
 
   @Override
   public FastEntrySet long2LongEntrySet() {
-    if (entries == null)
+    if (entries == null) {
       entries = new Long2LongOpenHashDataMap.MapEntrySet();
+    }
     return entries;
   }
 
@@ -1188,7 +1266,7 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     // methods
     // avoids the boxing/unboxing
     @Override
-    final void acceptOnIndex(final java.util.function.LongConsumer action, final long index) {
+    void acceptOnIndex(final java.util.function.LongConsumer action, final long index) {
       action.accept(key.get(index));
     }
 
@@ -1218,12 +1296,13 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     }
 
     @Override
-    final void acceptOnIndex(final java.util.function.LongConsumer action, final long index) {
+    void acceptOnIndex(final java.util.function.LongConsumer action, final long index) {
       action.accept(key.get(index));
     }
 
     @Override
-    final Long2LongOpenHashDataMap.KeySpliterator makeForSplit(long pos, long max,
+    Long2LongOpenHashDataMap.KeySpliterator makeForSplit(
+        long pos, long max,
         boolean mustReturnNull) {
       return new Long2LongOpenHashDataMap.KeySpliterator(pos, max, mustReturnNull, true);
     }
@@ -1245,12 +1324,14 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
      */
     @Override
     public void forEach(final java.util.function.LongConsumer consumer) {
-      if (containsNullKey)
+      if (containsNullKey) {
         consumer.accept(key.get(n));
+      }
       for (long pos = n; pos-- != 0;) {
         final long k = key.get(pos);
-        if (!((k) == (0)))
+        if (!(k == 0)) {
           consumer.accept(k);
+        }
       }
     }
 
@@ -1279,8 +1360,9 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
 
   @Override
   public LongSet keySet() {
-    if (keys == null)
+    if (keys == null) {
       keys = new Long2LongOpenHashDataMap.KeySet();
+    }
     return keys;
   }
 
@@ -1303,7 +1385,7 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     // methods
     // avoids the boxing/unboxing
     @Override
-    final void acceptOnIndex(final java.util.function.LongConsumer action, final long index) {
+    void acceptOnIndex(final java.util.function.LongConsumer action, final long index) {
       action.accept(value.get(index));
     }
 
@@ -1333,12 +1415,12 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     }
 
     @Override
-    final void acceptOnIndex(final java.util.function.LongConsumer action, final long index) {
+    void acceptOnIndex(final java.util.function.LongConsumer action, final long index) {
       action.accept(value.get(index));
     }
 
     @Override
-    final Long2LongOpenHashDataMap.ValueSpliterator makeForSplit(long pos, long max,
+    Long2LongOpenHashDataMap.ValueSpliterator makeForSplit(long pos, long max,
         boolean mustReturnNull) {
       return new Long2LongOpenHashDataMap.ValueSpliterator(pos, max, mustReturnNull, true);
     }
@@ -1361,11 +1443,14 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
         /** {@inheritDoc} */
         @Override
         public void forEach(final java.util.function.LongConsumer consumer) {
-          if (containsNullKey)
+          if (containsNullKey) {
             consumer.accept(value.get(n));
-          for (long pos = n; pos-- != 0;)
-            if (!((key.get(pos)) == (0)))
+          }
+          for (long pos = n; pos-- != 0;) {
+            if (!(key.get(pos) == 0)) {
               consumer.accept(value.get(pos));
+            }
+          }
         }
 
         @Override
@@ -1414,7 +1499,7 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
    * <p>
    * This method is useful when reusing maps. {@linkplain #clear() Clearing a map} leaves the table
    * size untouched. If you are reusing a map many times, you can call this method with a typical
-   * size to avoid keeping around a very large table just because of a few large transient maps.
+   * size to avoid keeping around a very large table just because of a few large maps.
    *
    * @param n the threshold for the trimming.
    * @return true if there was enough memory to trim the map.
@@ -1448,10 +1533,10 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
     final AbstractDataList<Long> newValue = valueSupplier.get();
     long i = n, pos;
     for (long j = realSize(); j-- != 0;) {
-      while (((key.get(--i)) == (0)));
-      if (!((newKey
-          .get(pos = (int) mix((key.get(i))) & mask)) == (0)))
-        while (!((newKey.get(pos = (pos + 1) & mask)) == (0)));
+      while ((key.get(--i) == 0));
+      if (!(newKey.get(pos = (int) mix(key.get(i)) & mask) == 0)) {
+        while (!(newKey.get(pos = (pos + 1) & mask) == 0));
+      }
       newKey.set(pos, key.get(i));
       newValue.set(pos, value.get(i));
     }
@@ -1476,16 +1561,18 @@ public class Long2LongOpenHashDataMap extends AbstractLong2LongMap
   public int hashCode() {
     int h = 0;
     for (long j = realSize(), i = 0, t = 0; j-- != 0;) {
-      while (((key.get(i)) == (0)))
+      while (((key.get(i)) == 0)) {
         i++;
+      }
       t = HashCommon.long2int(key.get(i));
       t ^= HashCommon.long2int(value.get(i));
       h += t;
       i++;
     }
     // Zero / null keys have hash zero.
-    if (containsNullKey)
+    if (containsNullKey) {
       h += HashCommon.long2int(value.get(n));
+    }
     return h;
   }
 }
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongPackedOpenHashDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongPackedOpenHashDataMap.java
index cda78863..7979e2c4 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongPackedOpenHashDataMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2LongPackedOpenHashDataMap.java
@@ -77,8 +77,6 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
    */
   protected LongCollection values;
 
-  private Supplier<AbstractDataList<Long>> listSupplier;
-
   /**
    * Creates a new hash map.
    *
@@ -90,10 +88,12 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
    */
   public Long2LongPackedOpenHashDataMap(final long expected, final float f,
       final Supplier<DataMap<Pair<Long, Long>>> indexSupplier) {
-    if (f <= 0 || f >= 1)
+    if (f <= 0 || f >= 1) {
       throw new IllegalArgumentException("Load factor must be greater than 0 and smaller than 1");
-    if (expected < 0)
+    }
+    if (expected < 0) {
       throw new IllegalArgumentException("The expected number of elements must be nonnegative");
+    }
     this.f = f;
     this.minN = n = bigArraySize(expected, f);
     this.mask = n - 1;
@@ -108,23 +108,26 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
 
   private void ensureCapacity(final long capacity) {
     final long needed = bigArraySize(capacity, f);
-    if (needed > n)
+    if (needed > n) {
       rehash(needed);
+    }
   }
 
   private void tryCapacity(final long capacity) {
     final long needed =
         Math.min(1 << 30, Math.max(2, HashCommon.nextPowerOfTwo((long) Math.ceil(capacity / f))));
-    if (needed > n)
+    if (needed > n) {
       rehash(needed);
+    }
   }
 
   private long removeEntry(final long pos) {
     final long oldValue = index.get(pos).right();
     size.decrementAndGet();
     shiftKeys(pos);
-    if (n > minN && size.get() < maxFill / 4 && n > DEFAULT_INITIAL_SIZE)
+    if (n > minN && size.get() < maxFill / 4 && n > DEFAULT_INITIAL_SIZE) {
       rehash(n / 2);
+    }
     return oldValue;
   }
 
@@ -132,47 +135,52 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     containsNullKey = false;
     final long oldValue = index.get(n).right();
     size.decrementAndGet();
-    if (n > minN && size.get() < maxFill / 4 && n > DEFAULT_INITIAL_SIZE)
+    if (n > minN && size.get() < maxFill / 4 && n > DEFAULT_INITIAL_SIZE) {
       rehash(n / 2);
+    }
     return oldValue;
   }
 
   @Override
   public void putAll(Map<? extends Long, ? extends Long> m) {
-    if (f <= .5)
-      ensureCapacity(m.size()); // The resulting map will be sized for m.size() elements
-    else
-      tryCapacity(size() + m.size()); // The resulting map will be tentatively sized for size() +
-                                      // m.size()
-    // elements
+    if (f <= .5) {
+      ensureCapacity(m.size());
+    } else {
+      tryCapacity(size() + m.size());
+    }
     super.putAll(m);
   }
 
   private long find(final long k) {
-    if (((k) == (0)))
+    if (((k) == 0)) {
       return containsNullKey ? n : -(n + 1);
+    }
     long curr;
     long pos;
-    // The starting point.
-    if (((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == (0)))
+    if (((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == 0)) {
       return -(pos + 1);
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return pos;
-    // There's always an unused entry.
+    }
     while (true) {
-      if (((curr = index.get(pos = (pos + 1) & mask).left()) == (0)))
+      if (((curr = index.get(pos = (pos + 1) & mask).left()) == 0)) {
         return -(pos + 1);
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return pos;
+      }
     }
   }
 
   private void insert(final long pos, final long k, final long v) {
-    if (pos == n)
+    if (pos == n) {
       containsNullKey = true;
+    }
     index.put(pos, new Pair<>(k, v));
-    if (size.getAndIncrement() >= maxFill)
+    if (size.getAndIncrement() >= maxFill) {
       rehash(bigArraySize(size.get() + 1, f));
+    }
   }
 
   @Override
@@ -208,25 +216,30 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
    */
   public long addTo(final long k, final long incr) {
     long pos;
-    if (((k) == (0))) {
-      if (containsNullKey)
+    if (((k) == 0)) {
+      if (containsNullKey) {
         return addToValue(n, incr);
+      }
       pos = n;
       containsNullKey = true;
     } else {
       long curr;
       // The starting point.
-      if (!((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == (0))) {
-        if (((curr) == (k)))
+      if (!((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == 0)) {
+        if ((curr == k)) {
           return addToValue(pos, incr);
-        while (!((curr = index.get(pos = (pos + 1) & mask).left()) == (0)))
-          if (((curr) == (k)))
+        }
+        while (!((curr = index.get(pos = (pos + 1) & mask).left()) == 0)) {
+          if ((curr == k)) {
             return addToValue(pos, incr);
+          }
+        }
       }
     }
     index.put(pos, new Pair<>(k, defRetValue + incr));
-    if (size.incrementAndGet() >= maxFill)
+    if (size.incrementAndGet() >= maxFill) {
       rehash(bigArraySize(size.get() + 1, f));
+    }
     return defRetValue;
   }
 
@@ -243,13 +256,14 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     for (;;) {
       pos = ((last = pos) + 1) & mask;
       for (;;) {
-        if (((curr = index.get(pos).left()) == (0))) {
+        if (((curr = index.get(pos).left()) == 0)) {
           index.put(last, new Pair<>(curr, 0L));
           return;
         }
         slot = HashCommon.mix((curr)) & mask;
-        if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos)
+        if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos) {
           break;
+        }
         pos = (pos + 1) & mask;
       }
       index.put(last, new Pair<>(curr, index.get(pos).right()));
@@ -259,75 +273,93 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
   @Override
 
   public long remove(final long k) {
-    if (((k) == (0))) {
-      if (containsNullKey)
+    if (((k) == 0)) {
+      if (containsNullKey) {
         return removeNullEntry();
+      }
       return defRetValue;
     }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == (0)))
+    if (((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == 0)) {
       return defRetValue;
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return removeEntry(pos);
+    }
     while (true) {
-      if (((curr = index.get(pos = (pos + 1) & mask).left()) == (0)))
+      if (((curr = index.get(pos = (pos + 1) & mask).left()) == 0)) {
         return defRetValue;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return removeEntry(pos);
+      }
     }
   }
 
   @Override
 
   public long get(final long k) {
-    if (((k) == (0)))
+    if (((k) == 0)) {
       return containsNullKey ? index.get(n).right() : defRetValue;
+    }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == (0)))
+    if (((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == 0)) {
       return defRetValue;
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return index.get(pos).right();
+    }
     // There's always an unused entry.
     while (true) {
-      if (((curr = index.get(pos = (pos + 1) & mask).left()) == (0)))
+      if (((curr = index.get(pos = (pos + 1) & mask).left()) == 0)) {
         return defRetValue;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return index.get(pos).right();
+      }
     }
   }
 
   @Override
 
   public boolean containsKey(final long k) {
-    if (((k) == (0)))
+    if (((k) == 0)) {
       return containsNullKey;
+    }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == (0)))
+    if (((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == 0)) {
       return false;
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return true;
+    }
     // There's always an unused entry.
     while (true) {
-      if (((curr = index.get(pos = (pos + 1) & mask).left()) == (0)))
+      if (((curr = index.get(pos = (pos + 1) & mask).left()) == 0)) {
         return false;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return true;
+      }
     }
   }
 
   @Override
   public boolean containsValue(final long v) {
-    if (containsNullKey && ((index.get(n).right()) == (v)))
+    if (containsNullKey && ((index.get(n).right()) == (v))) {
       return true;
-    for (long i = n; i-- != 0;)
-      if (!((index.get(i).left()) == (0)) && ((index.get(i).right()) == (v)))
+    }
+    for (long i = n; i-- != 0;) {
+      if (!((index.get(i).left()) == 0) && ((index.get(i).right()) == (v))) {
         return true;
+      }
+    }
     return false;
   }
 
@@ -337,21 +369,26 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
   @Override
 
   public long getOrDefault(final long k, final long defaultValue) {
-    if (((k) == (0)))
+    if (((k) == 0)) {
       return containsNullKey ? index.get(n).right() : defaultValue;
+    }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == (0)))
+    if (((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == 0)) {
       return defaultValue;
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return index.get(pos).right();
+    }
     // There's always an unused entry.
     while (true) {
-      if (((curr = index.get(pos = (pos + 1) & mask).left()) == (0)))
+      if (((curr = index.get(pos = (pos + 1) & mask).left()) == 0)) {
         return defaultValue;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return index.get(pos).right();
+      }
     }
   }
 
@@ -361,8 +398,9 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
   @Override
   public long putIfAbsent(final long k, final long v) {
     final long pos = find(k);
-    if (pos >= 0)
+    if (pos >= 0) {
       return index.get(pos).right();
+    }
     insert(-pos - 1, k, v);
     return defRetValue;
   }
@@ -373,7 +411,7 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
   @Override
 
   public boolean remove(final long k, final long v) {
-    if (((k) == (0))) {
+    if (((k) == 0)) {
       if (containsNullKey && ((v) == (index.get(n).right()))) {
         removeNullEntry();
         return true;
@@ -383,15 +421,17 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     long curr;
     long pos;
     // The starting point.
-    if (((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == (0)))
+    if (((curr = index.get(pos = HashCommon.mix((k)) & mask).left()) == 0)) {
       return false;
+    }
     if (((k) == (curr)) && ((v) == (index.get(pos).right()))) {
       removeEntry(pos);
       return true;
     }
     while (true) {
-      if (((curr = index.get(pos = (pos + 1) & mask).left()) == (0)))
+      if (((curr = index.get(pos = (pos + 1) & mask).left()) == 0)) {
         return false;
+      }
       if (((k) == (curr)) && ((v) == (index.get(pos).right()))) {
         removeEntry(pos);
         return true;
@@ -405,8 +445,9 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
   @Override
   public boolean replace(final long k, final long oldValue, final long v) {
     final long pos = find(k);
-    if (pos < 0 || !((oldValue) == (index.get(pos).right())))
+    if (pos < 0 || !((oldValue) == (index.get(pos).right()))) {
       return false;
+    }
     index.put(pos, new Pair<>(k, v));
     return true;
   }
@@ -417,8 +458,9 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
   @Override
   public long replace(final long k, final long v) {
     final long pos = find(k);
-    if (pos < 0)
+    if (pos < 0) {
       return defRetValue;
+    }
     final long oldValue = index.get(pos).right();
     index.put(pos, new Pair<>(k, v));
     return oldValue;
@@ -432,8 +474,9 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
       final java.util.function.LongUnaryOperator mappingFunction) {
     java.util.Objects.requireNonNull(mappingFunction);
     final long pos = find(k);
-    if (pos >= 0)
+    if (pos >= 0) {
       return index.get(pos).right();
+    }
     final long newValue = mappingFunction.applyAsLong(k);
     insert(-pos - 1, k, newValue);
     return newValue;
@@ -446,10 +489,12 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
   public long computeIfAbsent(final long key, final Long2LongFunction mappingFunction) {
     java.util.Objects.requireNonNull(mappingFunction);
     final long pos = find(key);
-    if (pos >= 0)
+    if (pos >= 0) {
       return index.get(pos).right();
-    if (!mappingFunction.containsKey(key))
+    }
+    if (!mappingFunction.containsKey(key)) {
       return defRetValue;
+    }
     final long newValue = mappingFunction.get(key);
     insert(-pos - 1, key, newValue);
     return newValue;
@@ -463,12 +508,14 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
       final java.util.function.LongFunction<? extends Long> mappingFunction) {
     java.util.Objects.requireNonNull(mappingFunction);
     final long pos = find(k);
-    if (pos >= 0)
+    if (pos >= 0) {
       return index.get(pos).right();
+    }
     final Long newValue = mappingFunction.apply(k);
-    if (newValue == null)
+    if (newValue == null) {
       return defRetValue;
-    final long v = (newValue).longValue();
+    }
+    final long v = newValue;
     insert(-pos - 1, k, v);
     return v;
   }
@@ -481,18 +528,20 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
       final java.util.function.BiFunction<? super Long, ? super Long, ? extends Long> remappingFunction) {
     java.util.Objects.requireNonNull(remappingFunction);
     final long pos = find(k);
-    if (pos < 0)
+    if (pos < 0) {
       return defRetValue;
+    }
     final Long newValue =
-        remappingFunction.apply(Long.valueOf(k), Long.valueOf(index.get(pos).right()));
+        remappingFunction.apply(k, index.get(pos).right());
     if (newValue == null) {
-      if (((k) == (0)))
+      if (((k) == 0)) {
         removeNullEntry();
-      else
+      } else {
         removeEntry(pos);
+      }
       return defRetValue;
     }
-    long newVal = (newValue).longValue();
+    long newVal = newValue;
     index.put(pos, new Pair<>(k, newVal));
     return newVal;
   }
@@ -506,24 +555,23 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     java.util.Objects.requireNonNull(remappingFunction);
     final long pos = find(k);
     final Long newValue =
-        remappingFunction.apply(Long.valueOf(k),
-            pos >= 0 ? Long.valueOf(index.get(pos).right()) : null);
+        remappingFunction.apply(k, pos >= 0 ? index.get(pos).right() : null);
     if (newValue == null) {
       if (pos >= 0) {
-        if (((k) == (0)))
+        if (((k) == 0)) {
           removeNullEntry();
-        else
+        } else {
           removeEntry(pos);
+        }
       }
       return defRetValue;
     }
-    long newVal = (newValue).longValue();
     if (pos < 0) {
-      insert(-pos - 1, k, newVal);
-      return newVal;
+      insert(-pos - 1, k, newValue);
+      return newValue;
     }
-    index.put(pos, new Pair<>(k, newVal));
-    return newVal;
+    index.put(pos, new Pair<>(k, newValue));
+    return newValue;
   }
 
   /**
@@ -536,22 +584,20 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
 
     final long pos = find(k);
     if (pos < 0) {
-      if (pos < 0)
-        insert(-pos - 1, k, v);
-      else
-        index.put(pos, new Pair<>(k, v));
+      insert(-pos - 1, k, v);
       return v;
     }
     final Long newValue =
-        remappingFunction.apply(Long.valueOf(index.get(pos).right()), Long.valueOf(v));
+        remappingFunction.apply(index.get(pos).right(), v);
     if (newValue == null) {
-      if (((k) == (0)))
+      if (((k) == 0)) {
         removeNullEntry();
-      else
+      } else {
         removeEntry(pos);
+      }
       return defRetValue;
     }
-    long newVal = (newValue).longValue();
+    long newVal = newValue;
     index.put(pos, new Pair<>(k, newVal));
     return newVal;
   }
@@ -565,11 +611,12 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
    */
   @Override
   public void clear() {
-    if (size.get() == 0)
+    if (size.get() == 0) {
       return;
+    }
     size.set(0);
     containsNullKey = false;
-    // TODO: Arrays.fill(key, (0));
+    // TODO: Arrays.fill(key, 0);
   }
 
   @Override
@@ -645,7 +692,7 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     @Deprecated
     @Override
     public Long getKey() {
-      return Long.valueOf(Long2LongPackedOpenHashDataMap.this.index.get(index).left());
+      return Long2LongPackedOpenHashDataMap.this.index.get(index).left();
     }
 
     /**
@@ -656,7 +703,7 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     @Deprecated
     @Override
     public Long getValue() {
-      return Long.valueOf(Long2LongPackedOpenHashDataMap.this.index.get(index).right());
+      return Long2LongPackedOpenHashDataMap.this.index.get(index).right();
     }
 
     /**
@@ -667,14 +714,15 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     @Deprecated
     @Override
     public Long setValue(final Long v) {
-      return Long.valueOf(setValue((v).longValue()));
+      return setValue(v);
     }
 
     @SuppressWarnings("unchecked")
     @Override
     public boolean equals(final Object o) {
-      if (!(o instanceof Map.Entry))
+      if (!(o instanceof Map.Entry)) {
         return false;
+      }
       Map.Entry<Long, Long> e = (Map.Entry<Long, Long>) o;
       var pair = Long2LongPackedOpenHashDataMap.this.index.get(index);
       return ((pair.left()) == ((e.getKey()).longValue()))
@@ -732,8 +780,9 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     }
 
     public long nextEntry() {
-      if (!hasNext())
+      if (!hasNext()) {
         throw new NoSuchElementException();
+      }
       c--;
       if (mustReturnNullKey) {
         mustReturnNullKey = false;
@@ -745,12 +794,14 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
           last = Integer.MIN_VALUE;
           final long k = wrapped.getLong((int) -pos - 1); // TODO: check if -pos - 1 is correct
           long p = (int) HashCommon.mix((k)) & mask;
-          while (!((k) == (index.get(p).left())))
+          while (!((k) == (index.get(p).left()))) {
             p = (p + 1) & mask;
+          }
           return p;
         }
-        if (!((index.get(pos).left()) == (0)))
+        if (!((index.get(pos).left()) == 0)) {
           return last = pos;
+        }
       }
     }
 
@@ -766,11 +817,12 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
           last = Integer.MIN_VALUE;
           final long k = wrapped.getLong((int) -pos - 1); // TODO: check if -pos - 1 is correct
           long p = (int) HashCommon.mix((k)) & mask;
-          while (!((k) == (index.get(p).left())))
+          while (!((k) == (index.get(p).left()))) {
             p = (p + 1) & mask;
+          }
           acceptOnIndex(action, p);
           c--;
-        } else if (!((index.get(pos).left()) == (0))) {
+        } else if (!((index.get(pos).left()) == 0)) {
           acceptOnIndex(action, last = pos);
           c--;
         }
@@ -790,19 +842,21 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
       for (;;) {
         pos = ((last = pos) + 1) & mask;
         for (;;) {
-          if (((curr = index.get(pos).left()) == (0))) {
+          if (((curr = index.get(pos).left()) == 0)) {
             index.put(last, new Pair<>(curr, 0L));
             return;
           }
           slot = (int) HashCommon.mix((curr)) & mask;
-          if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos)
+          if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos) {
             break;
+          }
           pos = (pos + 1) & mask;
         }
         var pair = index.get(pos);
         if (pos < last) { // Wrapped entry.
-          if (wrapped == null)
+          if (wrapped == null) {
             wrapped = new LongArrayList(2);
+          }
           wrapped.add(pair.left());
         }
         index.put(last, new Pair<>(curr, pair.right()));
@@ -810,16 +864,17 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     }
 
     public void remove() {
-      if (last == -1)
+      if (last == -1) {
         throw new IllegalStateException();
+      }
       if (last == n) {
         containsNullKey = false;
-      } else if (pos >= 0)
+      } else if (pos >= 0) {
         shiftKeys(last);
-      else {
+      } else {
         // We're removing wrapped entries.
         Long2LongPackedOpenHashDataMap.this.remove(wrapped.getLong((int) -pos - 1)); // TODO: check
-                                                                                     // if -pos - 1
+        // if -pos - 1
         // is correct
         last = -1; // Note that we must not decrement size
         return;
@@ -830,8 +885,9 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
 
     public int skip(final int n) {
       int i = n;
-      while (i-- != 0 && hasNext())
+      while (i-- != 0 && hasNext()) {
         nextEntry();
+      }
       return n - i - 1;
     }
   }
@@ -920,7 +976,7 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
         return true;
       }
       while (pos < max) {
-        if (!((index.get(pos).left()) == (0))) {
+        if (!((index.get(pos).left()) == 0)) {
           ++c;
           acceptOnIndex(action, pos++);
           return true;
@@ -937,7 +993,7 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
         acceptOnIndex(action, n);
       }
       while (pos < max) {
-        if (!((index.get(pos).left()) == (0))) {
+        if (!((index.get(pos).left()) == 0)) {
           acceptOnIndex(action, pos);
           ++c;
         }
@@ -960,11 +1016,13 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     }
 
     public SplitType trySplit() {
-      if (pos >= max - 1)
+      if (pos >= max - 1) {
         return null;
+      }
       long retLen = (max - pos) >> 1;
-      if (retLen <= 1)
+      if (retLen <= 1) {
         return null;
+      }
       long myNewPos = pos + retLen;
       long retPos = pos;
       long retMax = myNewPos;
@@ -980,10 +1038,12 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     }
 
     public long skip(long n) {
-      if (n < 0)
+      if (n < 0) {
         throw new IllegalArgumentException("Argument must be nonnegative: " + n);
-      if (n == 0)
+      }
+      if (n == 0) {
         return 0;
+      }
       long skipped = 0;
       if (mustReturnNull) {
         mustReturnNull = false;
@@ -991,7 +1051,7 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
         --n;
       }
       while (pos < max && n > 0) {
-        if (!((index.get(pos++).left()) == (0))) {
+        if (!((index.get(pos++).left()) == 0)) {
           ++skipped;
           --n;
         }
@@ -1056,47 +1116,58 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     @Override
 
     public boolean contains(final Object o) {
-      if (!(o instanceof Map.Entry))
+      if (!(o instanceof Map.Entry)) {
         return false;
+      }
       final Map.Entry<?, ?> e = (Map.Entry<?, ?>) o;
-      if (e.getKey() == null || !(e.getKey() instanceof Long))
+      if (e.getKey() == null || !(e.getKey() instanceof Long)) {
         return false;
-      if (e.getValue() == null || !(e.getValue() instanceof Long))
+      }
+      if (e.getValue() == null || !(e.getValue() instanceof Long)) {
         return false;
-      final long k = ((Long) (e.getKey())).longValue();
-      final long v = ((Long) (e.getValue())).longValue();
-      if (((k) == (0)))
+      }
+      final long k = (Long) e.getKey();
+      final long v = (Long) e.getValue();
+      if (((k) == 0)) {
         return Long2LongPackedOpenHashDataMap.this.containsNullKey
             && ((index.get(n).right()) == (v));
+      }
       long curr;
       long pos;
       // The starting point.
-      if (((curr = index.get(pos = (int) HashCommon.mix((k)) & mask).left()) == (0)))
+      if (((curr = index.get(pos = (int) HashCommon.mix((k)) & mask).left()) == 0)) {
         return false;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return ((index.get(pos).right()) == (v));
+      }
       // There's always an unused entry.
       while (true) {
-        if (((curr = index.get(pos = (pos + 1) & mask).left()) == (0)))
+        if (((curr = index.get(pos = (pos + 1) & mask).left()) == 0)) {
           return false;
-        if (((k) == (curr)))
+        }
+        if (((k) == (curr))) {
           return ((index.get(pos).right()) == (v));
+        }
       }
     }
 
     @Override
 
     public boolean remove(final Object o) {
-      if (!(o instanceof Map.Entry))
+      if (!(o instanceof Map.Entry)) {
         return false;
+      }
       final Map.Entry<?, ?> e = (Map.Entry<?, ?>) o;
-      if (e.getKey() == null || !(e.getKey() instanceof Long))
+      if (e.getKey() == null || !(e.getKey() instanceof Long)) {
         return false;
-      if (e.getValue() == null || !(e.getValue() instanceof Long))
+      }
+      if (e.getValue() == null || !(e.getValue() instanceof Long)) {
         return false;
-      final long k = ((Long) (e.getKey())).longValue();
-      final long v = ((Long) (e.getValue())).longValue();
-      if (((k) == (0))) {
+      }
+      final long k = (Long) e.getKey();
+      final long v = (Long) e.getValue();
+      if (((k) == 0)) {
         if (containsNullKey && ((index.get(n).right()) == (v))) {
           removeNullEntry();
           return true;
@@ -1106,8 +1177,9 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
       long curr;
       long pos;
       // The starting point.
-      if (((curr = index.get(pos = (int) HashCommon.mix((k)) & mask).left()) == (0)))
+      if (((curr = index.get(pos = (int) HashCommon.mix((k)) & mask).left()) == 0)) {
         return false;
+      }
       if (((curr) == (k))) {
         if (((index.get(pos).right()) == (v))) {
           removeEntry(pos);
@@ -1116,8 +1188,9 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
         return false;
       }
       while (true) {
-        if (((curr = index.get(pos = (pos + 1) & mask).left()) == (0)))
+        if (((curr = index.get(pos = (pos + 1) & mask).left()) == 0)) {
           return false;
+        }
         if (((curr) == (k))) {
           if (((index.get(pos).right()) == (v))) {
             removeEntry(pos);
@@ -1143,8 +1216,9 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
       }
       for (long pos = n; pos-- != 0;) {
         var pair = index.get(pos);
-        if (!((pair.left()) == (0)))
+        if (!((pair.left()) == 0)) {
           consumer.accept(new BasicEntry(pair.left(), pair.right()));
+        }
       }
     }
 
@@ -1159,7 +1233,7 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
       }
       for (long pos = n; pos-- != 0;) {
         var pair = index.get(pos);
-        if (!((pair.left()) == (0))) {
+        if (!((pair.left()) == 0)) {
           consumer.accept(new BasicEntry(pair.left(), pair.right()));
         }
       }
@@ -1250,12 +1324,14 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
      */
     @Override
     public void forEach(final LongConsumer consumer) {
-      if (containsNullKey)
+      if (containsNullKey) {
         consumer.accept(index.get(n).left());
+      }
       for (long pos = n; pos-- != 0;) {
         final long k = index.get(pos).left();
-        if (!((k) == (0)))
+        if (!((k) == 0)) {
           consumer.accept(k);
+        }
       }
     }
 
@@ -1352,7 +1428,7 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
 
   @Override
   public LongCollection values() {
-    if (values == null)
+    if (values == null) {
       values = new AbstractLongCollection() {
         @Override
         public LongIterator iterator() {
@@ -1372,7 +1448,7 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
           }
           for (long pos = n; pos-- != 0;) {
             var pair = index.get(pos);
-            if (!((pair.left()) == (0))) {
+            if (!((pair.left()) == 0)) {
               consumer.accept(pair.right());
             }
           }
@@ -1393,6 +1469,7 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
           Long2LongPackedOpenHashDataMap.this.clear();
         }
       };
+    }
     return values;
   }
 
@@ -1424,7 +1501,7 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
    * <p>
    * This method is useful when reusing maps. {@linkplain #clear() Clearing a map} leaves the table
    * size untouched. If you are reusing a map many times, you can call this method with a typical
-   * size to avoid keeping around a very large table just because of a few large transient maps.
+   * size to avoid keeping around a very large table just because of a few large maps.
    *
    * @param n the threshold for the trimming.
    * @return true if there was enough memory to trim the map.
@@ -1432,8 +1509,9 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
    */
   public boolean trim(final long n) {
     final int l = HashCommon.nextPowerOfTwo((int) Math.ceil(n / f));
-    if (l >= this.n || size.get() > maxFill(l, f))
+    if (l >= this.n || size.get() > maxFill(l, f)) {
       return true;
+    }
     try {
       rehash(l);
     } catch (OutOfMemoryError cantDoIt) {
@@ -1457,7 +1535,7 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
     final DataMap<Pair<Long, Long>> newIndex = indexSupplier.get();
     long i = n, pos;
     for (long j = realSize(); j-- != 0;) {
-      while (index.get(--i).left() == (0));
+      while (index.get(--i).left() == 0);
       if (!(newIndex.get(pos = HashCommon.mix(index.get(i).left()) & mask).left() == 0L)) {
         while (!(newIndex.get(pos = (pos + 1) & mask).left() == 0L));
       }
@@ -1495,8 +1573,9 @@ public class Long2LongPackedOpenHashDataMap extends AbstractLong2LongMap
       i++;
     }
     // Zero / null keys have hash zero.
-    if (containsNullKey)
+    if (containsNullKey) {
       h += HashCommon.long2int(index.get(n).right());
+    }
     return h;
   }
 }
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2ObjectOpenHashDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2ObjectOpenHashDataMap.java
index b030572b..7922fcbd 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2ObjectOpenHashDataMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/Long2ObjectOpenHashDataMap.java
@@ -56,33 +56,58 @@ import java.util.function.Supplier;
 public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     implements DataMap<V>, Hash {
 
-  private Supplier<DataMap<Long>> keySupplier;
-  private Supplier<DataMap<V>> valueSupplier;
-
-  /** The array of keys. */
-  protected transient DataMap<Long> key;
-  /** The array of values. */
-  protected transient DataMap<V> value;
-  /** The mask for wrapping a position counter. */
-  protected transient long mask;
-  /** Whether this map contains the key zero. */
-  protected transient boolean containsNullKey;
-  /** The current table size. */
-  protected transient long n;
-  /** Threshold after which we rehash. It must be the table size times {@link #f}. */
-  protected transient long maxFill;
-  /** We never resize below this threshold, which is the construction-time {#n}. */
-  protected final transient long minN;
-  /** Number of entries in the set (including the key zero, if present). */
+  private final Supplier<DataMap<Long>> keySupplier;
+
+  private final Supplier<DataMap<V>> valueSupplier;
+
+  /**
+   * The array of keys.
+   */
+  protected DataMap<Long> key;
+  /**
+   * The array of values.
+   */
+  protected DataMap<V> value;
+  /**
+   * The mask for wrapping a position counter.
+   */
+  protected long mask;
+  /**
+   * Whether this map contains the key zero.
+   */
+  protected boolean containsNullKey;
+  /**
+   * The current table size.
+   */
+  protected long n;
+  /**
+   * Threshold after which we rehash. It must be the table size times {@link #f}.
+   */
+  protected long maxFill;
+  /**
+   * We never resize below this threshold, which is the construction-time {#n}.
+   */
+  protected final long minN;
+  /**
+   * Number of entries in the set (including the key zero, if present).
+   */
   protected AtomicLong size = new AtomicLong();;
-  /** The acceptable load factor. */
+  /**
+   * The acceptable load factor.
+   */
   protected final float f;
-  /** Cached set of entries. */
-  protected transient FastEntrySet<V> entries;
-  /** Cached set of keys. */
-  protected transient LongSet keys;
-  /** Cached collection of values. */
-  protected transient ObjectCollection<V> values;
+  /**
+   * Cached set of entries.
+   */
+  protected FastEntrySet<V> entries;
+  /**
+   * Cached set of keys.
+   */
+  protected LongSet keys;
+  /**
+   * Cached collection of values.
+   */
+  protected ObjectCollection<V> values;
 
   /**
    * Creates a new hash map.
@@ -99,10 +124,12 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
       final float f,
       final Supplier<DataMap<Long>> keySupplier,
       final Supplier<DataMap<V>> valueSupplier) {
-    if (f <= 0 || f >= 1)
+    if (f <= 0 || f >= 1) {
       throw new IllegalArgumentException("Load factor must be greater than 0 and smaller than 1");
-    if (expected < 0)
+    }
+    if (expected < 0) {
       throw new IllegalArgumentException("The expected number of elements must be nonnegative");
+    }
     this.f = f;
     this.minN = n = bigArraySize(expected, f);
     this.mask = n - 1;
@@ -119,15 +146,17 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
 
   private void ensureCapacity(final long capacity) {
     final long needed = bigArraySize(capacity, f);
-    if (needed > n)
+    if (needed > n) {
       rehash(needed);
+    }
   }
 
   private void tryCapacity(final long capacity) {
-    final long needed = (long) Math.min(1 << 30,
+    final long needed = Math.min(1 << 30,
         Math.max(2, HashCommon.nextPowerOfTwo((long) Math.ceil(capacity / f))));
-    if (needed > n)
+    if (needed > n) {
       rehash(needed);
+    }
   }
 
   private V removeEntry(final long pos) {
@@ -135,8 +164,9 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     value.put(pos, null);
     size.decrementAndGet();
     shiftKeys(pos);
-    if (n > minN && size.get() < maxFill / 4 && n > DEFAULT_INITIAL_SIZE)
+    if (n > minN && size.get() < maxFill / 4 && n > DEFAULT_INITIAL_SIZE) {
       rehash(n / 2);
+    }
     return oldValue;
   }
 
@@ -145,48 +175,57 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     final V oldValue = value.get(n);
     value.put(n, null);
     size.decrementAndGet();
-    if (n > minN && size.get() < maxFill / 4 && n > DEFAULT_INITIAL_SIZE)
+    if (n > minN && size.get() < maxFill / 4 && n > DEFAULT_INITIAL_SIZE) {
       rehash(n / 2);
+    }
     return oldValue;
   }
 
   @Override
   public void putAll(Map<? extends Long, ? extends V> m) {
-    if (f <= .5)
+    if (f <= .5) {
       ensureCapacity(m.size()); // The resulting map will be sized for m.size() elements
-    else
+    } else {
       tryCapacity(size() + m.size()); // The resulting map will be tentatively sized for size() +
-                                      // m.size()
+    }
+    // m.size()
     // elements
     super.putAll(m);
   }
 
   private long find(final long k) {
-    if (((k) == (0)))
+    if (((k) == 0)) {
       return containsNullKey ? n : -(n + 1);
+    }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = key.get(pos = (long) HashCommon.mix((k)) & mask)) == (0)))
+    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
       return -(pos + 1);
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return pos;
+    }
     // There's always an unused entry.
     while (true) {
-      if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+      if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
         return -(pos + 1);
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return pos;
+      }
     }
   }
 
   private void insert(final long pos, final long k, final V v) {
-    if (pos == n)
+    if (pos == n) {
       containsNullKey = true;
+    }
     key.put(pos, k);
     value.put(pos, v);
-    if (size.getAndIncrement() >= maxFill)
+    if (size.getAndIncrement() >= maxFill) {
       rehash(bigArraySize(size.get() + 1, f));
+    }
   }
 
   @Override
@@ -214,14 +253,15 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     for (;;) {
       pos = ((last = pos) + 1) & mask;
       for (;;) {
-        if (((curr = key.get(pos)) == (0))) {
+        if (((curr = key.get(pos)) == 0)) {
           key.put(last, 0L);
           value.put(last, null);
           return;
         }
-        slot = (long) HashCommon.mix((curr)) & mask;
-        if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos)
+        slot = HashCommon.mix((curr)) & mask;
+        if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos) {
           break;
+        }
         pos = (pos + 1) & mask;
       }
       key.put(last, curr);
@@ -232,115 +272,145 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
   @Override
 
   public V remove(final long k) {
-    if (((k) == (0))) {
-      if (containsNullKey)
+    if (((k) == 0)) {
+      if (containsNullKey) {
         return removeNullEntry();
+      }
       return defRetValue;
     }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = key.get(pos = (long) HashCommon.mix((k)) & mask)) == (0)))
+    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
       return defRetValue;
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return removeEntry(pos);
+    }
     while (true) {
-      if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+      if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
         return defRetValue;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return removeEntry(pos);
+      }
     }
   }
 
   @Override
 
   public V get(final long k) {
-    if (((k) == (0)))
+    if (((k) == 0)) {
       return containsNullKey ? value.get(n) : defRetValue;
+    }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = key.get(pos = (long) HashCommon.mix((k)) & mask)) == (0)))
+    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
       return defRetValue;
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return value.get(pos);
+    }
     // There's always an unused entry.
     while (true) {
-      if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+      if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
         return defRetValue;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return value.get(pos);
+      }
     }
   }
 
   @Override
 
   public boolean containsKey(final long k) {
-    if (((k) == (0)))
+    if (((k) == 0)) {
       return containsNullKey;
+    }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = key.get(pos = (long) HashCommon.mix((k)) & mask)) == (0)))
+    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
       return false;
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return true;
+    }
     // There's always an unused entry.
     while (true) {
-      if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+      if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
         return false;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return true;
+      }
     }
   }
 
   @Override
   public boolean containsValue(final Object v) {
-    if (containsNullKey && java.util.Objects.equals(value.get(n), v))
+    if (containsNullKey && java.util.Objects.equals(value.get(n), v)) {
       return true;
-    for (long i = n; i-- != 0;)
-      if (!((key.get(i)) == (0)) && java.util.Objects.equals(value.get(i), v))
+    }
+    for (long i = n; i-- != 0;) {
+      if (!((key.get(i)) == 0) && java.util.Objects.equals(value.get(i), v)) {
         return true;
+      }
+    }
     return false;
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
 
   public V getOrDefault(final long k, final V defaultValue) {
-    if (((k) == (0)))
+    if (((k) == 0)) {
       return containsNullKey ? value.get(n) : defaultValue;
+    }
     long curr;
     long pos;
     // The starting point.
-    if (((curr = key.get(pos = (long) HashCommon.mix((k)) & mask)) == (0)))
+    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
       return defaultValue;
-    if (((k) == (curr)))
+    }
+    if (((k) == (curr))) {
       return value.get(pos);
+    }
     // There's always an unused entry.
     while (true) {
-      if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+      if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
         return defaultValue;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return value.get(pos);
+      }
     }
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public V putIfAbsent(final long k, final V v) {
     final long pos = find(k);
-    if (pos >= 0)
+    if (pos >= 0) {
       return value.get(pos);
+    }
     insert(-pos - 1, k, v);
     return defRetValue;
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
 
   public boolean remove(final long k, final Object v) {
-    if (((k) == (0))) {
+    if (((k) == 0)) {
       if (containsNullKey && java.util.Objects.equals(v, value.get(n))) {
         removeNullEntry();
         return true;
@@ -350,15 +420,17 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     long curr;
     long pos;
     // The starting point.
-    if (((curr = key.get(pos = (long) HashCommon.mix((k)) & mask)) == (0)))
+    if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
       return false;
+    }
     if (((k) == (curr)) && java.util.Objects.equals(v, value.get(pos))) {
       removeEntry(pos);
       return true;
     }
     while (true) {
-      if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+      if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
         return false;
+      }
       if (((k) == (curr)) && java.util.Objects.equals(v, value.get(pos))) {
         removeEntry(pos);
         return true;
@@ -366,102 +438,124 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     }
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public boolean replace(final long k, final V oldValue, final V v) {
     final long pos = find(k);
-    if (pos < 0 || !java.util.Objects.equals(oldValue, value.get(pos)))
+    if (pos < 0 || !java.util.Objects.equals(oldValue, value.get(pos))) {
       return false;
+    }
     value.put(pos, v);
     return true;
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public V replace(final long k, final V v) {
     final long pos = find(k);
-    if (pos < 0)
+    if (pos < 0) {
       return defRetValue;
+    }
     final V oldValue = value.get(pos);
     value.put(pos, v);
     return oldValue;
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public V computeIfAbsent(final long k,
       final java.util.function.LongFunction<? extends V> mappingFunction) {
     java.util.Objects.requireNonNull(mappingFunction);
     final long pos = find(k);
-    if (pos >= 0)
+    if (pos >= 0) {
       return value.get(pos);
+    }
     final V newValue = mappingFunction.apply(k);
     insert(-pos - 1, k, newValue);
     return newValue;
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public V computeIfAbsent(final long key, final Long2ObjectFunction<? extends V> mappingFunction) {
     java.util.Objects.requireNonNull(mappingFunction);
     final long pos = find(key);
-    if (pos >= 0)
+    if (pos >= 0) {
       return value.get(pos);
-    if (!mappingFunction.containsKey(key))
+    }
+    if (!mappingFunction.containsKey(key)) {
       return defRetValue;
+    }
     final V newValue = mappingFunction.get(key);
     insert(-pos - 1, key, newValue);
     return newValue;
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public V computeIfPresent(final long k,
       final java.util.function.BiFunction<? super Long, ? super V, ? extends V> remappingFunction) {
     java.util.Objects.requireNonNull(remappingFunction);
     final long pos = find(k);
-    if (pos < 0)
+    if (pos < 0) {
       return defRetValue;
-    if (value.get(pos) == null)
+    }
+    if (value.get(pos) == null) {
       return defRetValue;
-    final V newValue = remappingFunction.apply(Long.valueOf(k), (value.get(pos)));
+    }
+    final V newValue = remappingFunction.apply(k, (value.get(pos)));
     if (newValue == null) {
-      if (((k) == (0)))
+      if (((k) == 0)) {
         removeNullEntry();
-      else
+      } else {
         removeEntry(pos);
+      }
       return defRetValue;
     }
     value.put(pos, newValue);
     return newValue;
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public V compute(final long k,
       final java.util.function.BiFunction<? super Long, ? super V, ? extends V> remappingFunction) {
     java.util.Objects.requireNonNull(remappingFunction);
     final long pos = find(k);
-    final V newValue = remappingFunction.apply(Long.valueOf(k), pos >= 0 ? (value.get(pos)) : null);
+    final V newValue = remappingFunction.apply(k, pos >= 0 ? (value.get(pos)) : null);
     if (newValue == null) {
       if (pos >= 0) {
-        if (((k) == (0)))
+        if (((k) == 0)) {
           removeNullEntry();
-        else
+        } else {
           removeEntry(pos);
+        }
       }
       return defRetValue;
     }
-    V newVal = (newValue);
     if (pos < 0) {
-      insert(-pos - 1, k, newVal);
-      return newVal;
+      insert(-pos - 1, k, (newValue));
+      return (newValue);
     }
-    value.put(pos, newVal);
-    return newVal;
+    value.put(pos, (newValue));
+    return (newValue);
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public V merge(final long k, final V v,
       final java.util.function.BiFunction<? super V, ? super V, ? extends V> remappingFunction) {
@@ -469,18 +563,20 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     java.util.Objects.requireNonNull(v);
     final long pos = find(k);
     if (pos < 0 || value.get(pos) == null) {
-      if (pos < 0)
+      if (pos < 0) {
         insert(-pos - 1, k, v);
-      else
+      } else {
         value.put(pos, v);
+      }
       return v;
     }
     final V newValue = remappingFunction.apply((value.get(pos)), (v));
     if (newValue == null) {
-      if (((k) == (0)))
+      if (((k) == 0)) {
         removeNullEntry();
-      else
+      } else {
         removeEntry(pos);
+      }
       return defRetValue;
     }
     value.put(pos, newValue);
@@ -496,11 +592,12 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
    */
   @Override
   public void clear() {
-    if (size.get() == 0)
+    if (size.get() == 0) {
       return;
+    }
     size.set(0);
     containsNullKey = false;
-    // TODO: Arrays.fill(key, (0));
+    // TODO: Arrays.fill(key, 0);
     // TODO: Arrays.fill(value, null);
   }
 
@@ -581,8 +678,9 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     @SuppressWarnings("unchecked")
     @Override
     public boolean equals(final Object o) {
-      if (!(o instanceof Map.Entry))
+      if (!(o instanceof Map.Entry)) {
         return false;
+      }
       Map.Entry<Long, V> e = (Map.Entry<Long, V>) o;
       return ((key.get(index)) == ((e.getKey()).longValue()))
           && java.util.Objects.equals(value.get(index), (e.getValue()));
@@ -600,7 +698,9 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     }
   }
 
-  /** An iterator over a hash map. */
+  /**
+   * An iterator over a hash map.
+   */
   private abstract class MapIterator<ConsumerType> {
     /**
      * The index of the last entry returned, if positive or zero; initially, {@link #n}. If
@@ -614,9 +714,13 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
      * -1 if either we did not return an entry yet, or the last returned entry has been removed.
      */
     long last = -1;
-    /** A downward counter measuring how many entries must still be returned. */
+    /**
+     * A downward counter measuring how many entries must still be returned.
+     */
     long c = size.get();
-    /** A boolean telling us whether we should return the entry with the null key. */
+    /**
+     * A boolean telling us whether we should return the entry with the null key.
+     */
     boolean mustReturnNullKey = Long2ObjectOpenHashDataMap.this.containsNullKey;
     /**
      * A lazily allocated list containing keys of entries that have wrapped around the table because
@@ -632,8 +736,9 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     }
 
     public long nextEntry() {
-      if (!hasNext())
+      if (!hasNext()) {
         throw new NoSuchElementException();
+      }
       c--;
       if (mustReturnNullKey) {
         mustReturnNullKey = false;
@@ -644,13 +749,15 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
           // We are just enumerating elements from the wrapped list.
           last = Integer.MIN_VALUE;
           final long k = wrapped.getLong((int) -pos - 1); // TODO: check if -pos - 1 is correct
-          long p = (long) HashCommon.mix((k)) & mask;
-          while (!((k) == (key.get(p))))
+          long p = HashCommon.mix((k)) & mask;
+          while (!((k) == (key.get(p)))) {
             p = (p + 1) & mask;
+          }
           return p;
         }
-        if (!((key.get(pos)) == (0)))
+        if (!((key.get(pos)) == 0)) {
           return last = pos;
+        }
       }
     }
 
@@ -665,12 +772,13 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
           // We are just enumerating elements from the wrapped list.
           last = Integer.MIN_VALUE;
           final long k = wrapped.getLong((int) -pos - 1); // TODO: check if -pos - 1 is correct
-          long p = (long) HashCommon.mix((k)) & mask;
-          while (!((k) == (key.get(p))))
+          long p = HashCommon.mix((k)) & mask;
+          while (!((k) == (key.get(p)))) {
             p = (p + 1) & mask;
+          }
           acceptOnIndex(action, p);
           c--;
-        } else if (!((key.get(pos)) == (0))) {
+        } else if (!((key.get(pos)) == 0)) {
           acceptOnIndex(action, last = pos);
           c--;
         }
@@ -690,19 +798,21 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
       for (;;) {
         pos = ((last = pos) + 1) & mask;
         for (;;) {
-          if (((curr = key.get(pos)) == (0))) {
+          if (((curr = key.get(pos)) == 0)) {
             key.put(last, 0L);
             value.put(last, null);
             return;
           }
-          slot = (long) HashCommon.mix((curr)) & mask;
-          if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos)
+          slot = HashCommon.mix((curr)) & mask;
+          if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos) {
             break;
+          }
           pos = (pos + 1) & mask;
         }
         if (pos < last) { // Wrapped entry.
-          if (wrapped == null)
+          if (wrapped == null) {
             wrapped = new LongArrayList(2);
+          }
           wrapped.add(key.get(pos));
         }
         key.put(last, curr);
@@ -711,18 +821,17 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     }
 
     public void remove() {
-      if (last == -1)
+      if (last == -1) {
         throw new IllegalStateException();
+      }
       if (last == n) {
         containsNullKey = false;
         value.put(n, null);
-      } else if (pos >= 0)
+      } else if (pos >= 0) {
         shiftKeys(last);
-      else {
+      } else {
         // We're removing wrapped entries.
-        Long2ObjectOpenHashDataMap.this.remove(wrapped.getLong((int) -pos - 1)); // TODO: check if
-                                                                                 // -pos -
-        // 1 is correct
+        Long2ObjectOpenHashDataMap.this.remove(wrapped.getLong((int) -pos - 1));
         last = -1; // Note that we must not decrement size
         return;
       }
@@ -732,8 +841,9 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
 
     public long skip(final long n) {
       long i = n;
-      while (i-- != 0 && hasNext())
+      while (i-- != 0 && hasNext()) {
         nextEntry();
+      }
       return n - i - 1;
     }
   }
@@ -787,11 +897,17 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
      * this counts up instead of down.
      */
     long pos = 0;
-    /** The maximum bucket (exclusive) to iterate to */
+    /**
+     * The maximum bucket (exclusive) to iterate to
+     */
     long max = n;
-    /** An upwards counter counting how many we have given */
+    /**
+     * An upwards counter counting how many we have given
+     */
     long c = 0;
-    /** A boolean telling us whether we should return the null key. */
+    /**
+     * A boolean telling us whether we should return the null key.
+     */
     boolean mustReturnNull = Long2ObjectOpenHashDataMap.this.containsNullKey;
     boolean hasSplit = false;
 
@@ -816,7 +932,7 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
         return true;
       }
       while (pos < max) {
-        if (!((key.get(pos)) == (0))) {
+        if (!((key.get(pos)) == 0)) {
           ++c;
           acceptOnIndex(action, pos++);
           return true;
@@ -833,7 +949,7 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
         acceptOnIndex(action, n);
       }
       while (pos < max) {
-        if (!((key.get(pos)) == (0))) {
+        if (!((key.get(pos)) == 0)) {
           acceptOnIndex(action, pos);
           ++c;
         }
@@ -856,11 +972,13 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     }
 
     public SplitType trySplit() {
-      if (pos >= max - 1)
+      if (pos >= max - 1) {
         return null;
+      }
       long retLen = (max - pos) >> 1;
-      if (retLen <= 1)
+      if (retLen <= 1) {
         return null;
+      }
       long myNewPos = pos + retLen;
       long retPos = pos;
       long retMax = myNewPos;
@@ -876,10 +994,12 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     }
 
     public long skip(long n) {
-      if (n < 0)
+      if (n < 0) {
         throw new IllegalArgumentException("Argument must be nonnegative: " + n);
-      if (n == 0)
+      }
+      if (n == 0) {
         return 0;
+      }
       long skipped = 0;
       if (mustReturnNull) {
         mustReturnNull = false;
@@ -887,7 +1007,7 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
         --n;
       }
       while (pos < max && n > 0) {
-        if (!((key.get(pos++)) == (0))) {
+        if (!((key.get(pos++)) == 0)) {
           ++skipped;
           --n;
         }
@@ -947,43 +1067,52 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     @Override
     @SuppressWarnings("unchecked")
     public boolean contains(final Object o) {
-      if (!(o instanceof Map.Entry))
+      if (!(o instanceof Map.Entry)) {
         return false;
+      }
       final Map.Entry<?, ?> e = (Map.Entry<?, ?>) o;
-      if (e.getKey() == null || !(e.getKey() instanceof Long))
+      if (e.getKey() == null || !(e.getKey() instanceof Long)) {
         return false;
-      final long k = ((Long) (e.getKey())).longValue();
+      }
+      final long k = (Long) e.getKey();
       final V v = ((V) e.getValue());
-      if (((k) == (0)))
+      if (((k) == 0)) {
         return Long2ObjectOpenHashDataMap.this.containsNullKey
             && java.util.Objects.equals(value.get(n), v);
+      }
       long curr;
       long pos;
       // The starting point.
-      if (((curr = key.get(pos = (long) HashCommon.mix((k)) & mask)) == (0)))
+      if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
         return false;
-      if (((k) == (curr)))
+      }
+      if (((k) == (curr))) {
         return java.util.Objects.equals(value.get(pos), v);
+      }
       // There's always an unused entry.
       while (true) {
-        if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+        if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
           return false;
-        if (((k) == (curr)))
+        }
+        if (((k) == (curr))) {
           return java.util.Objects.equals(value.get(pos), v);
+        }
       }
     }
 
     @Override
     @SuppressWarnings("unchecked")
     public boolean remove(final Object o) {
-      if (!(o instanceof Map.Entry))
+      if (!(o instanceof Map.Entry)) {
         return false;
+      }
       final Map.Entry<?, ?> e = (Map.Entry<?, ?>) o;
-      if (e.getKey() == null || !(e.getKey() instanceof Long))
+      if (e.getKey() == null || !(e.getKey() instanceof Long)) {
         return false;
-      final long k = ((Long) (e.getKey())).longValue();
+      }
+      final long k = (Long) e.getKey();
       final V v = ((V) e.getValue());
-      if (((k) == (0))) {
+      if (((k) == 0)) {
         if (containsNullKey && java.util.Objects.equals(value.get(n), v)) {
           removeNullEntry();
           return true;
@@ -993,8 +1122,9 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
       long curr;
       long pos;
       // The starting point.
-      if (((curr = key.get(pos = (long) HashCommon.mix((k)) & mask)) == (0)))
+      if (((curr = key.get(pos = HashCommon.mix((k)) & mask)) == 0)) {
         return false;
+      }
       if (((curr) == (k))) {
         if (java.util.Objects.equals(value.get(pos), v)) {
           removeEntry(pos);
@@ -1003,8 +1133,9 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
         return false;
       }
       while (true) {
-        if (((curr = key.get(pos = (pos + 1) & mask)) == (0)))
+        if (((curr = key.get(pos = (pos + 1) & mask)) == 0)) {
           return false;
+        }
         if (((curr) == (k))) {
           if (java.util.Objects.equals(value.get(pos), v)) {
             removeEntry(pos);
@@ -1024,33 +1155,42 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
       Long2ObjectOpenHashDataMap.this.clear();
     }
 
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public void forEach(final Consumer<? super Long2ObjectMap.Entry<V>> consumer) {
-      if (containsNullKey)
+      if (containsNullKey) {
         consumer.accept(new AbstractLong2ObjectMap.BasicEntry<V>(key.get(n), value.get(n)));
-      for (long pos = n; pos-- != 0;)
-        if (!((key.get(pos)) == (0)))
+      }
+      for (long pos = n; pos-- != 0;) {
+        if (!((key.get(pos)) == 0)) {
           consumer.accept(new AbstractLong2ObjectMap.BasicEntry<V>(key.get(pos), value.get(pos)));
+        }
+      }
     }
 
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public void fastForEach(final Consumer<? super Long2ObjectMap.Entry<V>> consumer) {
       if (containsNullKey) {
         consumer.accept(new AbstractLong2ObjectMap.BasicEntry<>(key.get(n), value.get(n)));
       }
-      for (long pos = n; pos-- != 0;)
-        if (!((key.get(pos)) == (0))) {
+      for (long pos = n; pos-- != 0;) {
+        if (!((key.get(pos)) == 0)) {
           consumer.accept(new AbstractLong2ObjectMap.BasicEntry<>(key.get(pos), value.get(pos)));
         }
+      }
     }
   }
 
   @Override
   public FastEntrySet<V> long2ObjectEntrySet() {
-    if (entries == null)
+    if (entries == null) {
       entries = new MapEntrySet();
+    }
     return entries;
   }
 
@@ -1122,15 +1262,19 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
       return new KeySpliterator();
     }
 
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public void forEach(final java.util.function.LongConsumer consumer) {
-      if (containsNullKey)
+      if (containsNullKey) {
         consumer.accept(key.get(n));
+      }
       for (long pos = n; pos-- != 0;) {
         final long k = key.get(pos);
-        if (!((k) == (0)))
+        if (!((k) == 0)) {
           consumer.accept(k);
+        }
       }
     }
 
@@ -1159,8 +1303,9 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
 
   @Override
   public LongSet keySet() {
-    if (keys == null)
+    if (keys == null) {
       keys = new KeySet();
+    }
     return keys;
   }
 
@@ -1223,7 +1368,7 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
 
   @Override
   public ObjectCollection<V> values() {
-    if (values == null)
+    if (values == null) {
       values = new AbstractObjectCollection<V>() {
         @Override
         public ObjectIterator<V> iterator() {
@@ -1238,11 +1383,14 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
         /** {@inheritDoc} */
         @Override
         public void forEach(final Consumer<? super V> consumer) {
-          if (containsNullKey)
+          if (containsNullKey) {
             consumer.accept(value.get(n));
-          for (long pos = n; pos-- != 0;)
-            if (!((key.get(pos)) == (0)))
+          }
+          for (long pos = n; pos-- != 0;) {
+            if (!((key.get(pos)) == 0)) {
               consumer.accept(value.get(pos));
+            }
+          }
         }
 
         @Override
@@ -1260,6 +1408,7 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
           Long2ObjectOpenHashDataMap.this.clear();
         }
       };
+    }
     return values;
   }
 
@@ -1291,7 +1440,7 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
    * <p>
    * This method is useful when reusing maps. {@linkplain #clear() Clearing a map} leaves the table
    * size untouched. If you are reusing a map many times, you can call this method with a typical
-   * size to avoid keeping around a very large table just because of a few large transient maps.
+   * size to avoid keeping around a very large table just because of a few large maps.
    *
    * @param n the threshold for the trimming.
    * @return true if there was enough memory to trim the map.
@@ -1299,8 +1448,9 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
    */
   public boolean trim(final long n) {
     final long l = HashCommon.nextPowerOfTwo((long) Math.ceil(n / f));
-    if (l >= this.n || size.get() > maxFill(l, f))
+    if (l >= this.n || size.get() > maxFill(l, f)) {
       return true;
+    }
     try {
       rehash(l);
     } catch (OutOfMemoryError cantDoIt) {
@@ -1327,7 +1477,7 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
     long i = n, pos;
     for (long j = realSize(); j-- != 0;) {
       while ((key.get(--i) == 0));
-      if (!((newKey.get(pos = (long) mix((key.get(i))) & mask)) == (0))) {
+      if (!((newKey.get(pos = mix((key.get(i))) & mask)) == 0)) {
         while (!(newKey.get(pos = (pos + 1) & mask) == 0));
       }
       newKey.put(pos, key.get(i));
@@ -1343,7 +1493,7 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
 
   /**
    * Returns a hash code for this map.
-   *
+   * <p>
    * This method overrides the generic method provided by the superclass. Since {@code equals()} is
    * not overriden, it is important that the value returned by this method is the same value as the
    * one returned by the overriden method.
@@ -1354,17 +1504,20 @@ public class Long2ObjectOpenHashDataMap<V> extends AbstractLong2ObjectMap<V>
   public int hashCode() {
     int h = 0;
     for (long j = realSize(), i = 0, t = 0; j-- != 0;) {
-      while (((key.get(i)) == (0)))
+      while (((key.get(i)) == 0)) {
         i++;
+      }
       t = HashCommon.long2int(key.get(i));
-      if (this != value.get(i))
+      if (this != value.get(i)) {
         t ^= ((value.get(i)) == null ? 0 : (value.get(i)).hashCode());
+      }
       h += t;
       i++;
     }
     // Zero / null keys have hash zero.
-    if (containsNullKey)
+    if (containsNullKey) {
       h += ((value.get(n)) == null ? 0 : (value.get(n)).hashCode());
+    }
     return h;
   }
 }