I noticed dead code in java.util.HashMap.merge(): public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) { if (value == null) throw new NullPointerException();
... if (value != null) { *// Condition ' value != null' is always true* if (t != null) t.putTreeVal(this, tab, hash, key, value); else { tab[i] = newNode(hash, key, value, first); if (binCount >= TREEIFY_THRESHOLD - 1) treeifyBin(tab, hash); } ++modCount; ++size; afterNodeInsertion(true); } return value; } The code in the if branch will never be executed because `value` was previously checked at the beginning of the method. Is this a mistake?