private HashTree <K, V> With(HashTree <K, V> left, HashTree <K, V> right) { return(new HashTree <K, V>(Hash, Key, Value, Conflicts, left, right)); }
private HashTree(int hash, K key, V value, KV <K, V>[] conficts, HashTree <K, V> left, HashTree <K, V> right) { Hash = hash; Key = key; Value = value; Conflicts = conficts; Left = left; Right = right; Height = 1 + (left.Height > right.Height ? left.Height : right.Height); }