private HashTreeV2(int key, V value, HashTreeV2 <V> left, HashTreeV2 <V> right) { Key = key; Value = value; Left = left; Right = right; Height = 1 + (left.Height > right.Height ? left.Height : right.Height); }
private HashTreeV2 <V> With(HashTreeV2 <V> left, HashTreeV2 <V> right) { return(new HashTreeV2 <V>(Key, Value, left, right)); }