java: public boolean equals(Object _other) {assert neverEquals(_other);if (_other instanceof MergedGroup) {MergedGroup<?> other = (MergedGroup<?>) _other;if (groupValue == null) {return other == null;} else {return groupValue.equals(other);}} else {return false;}}
C#: public override bool Equals(object other){Debug.Assert(NeverEquals(other));if (other is MergedGroup<T> otherMergedGroup){if (groupValue == null){return otherMergedGroup == null;}else{return groupValueIsValueType ?JCG.EqualityComparer<T>.Default.Equals(groupValue, otherMergedGroup.groupValue) :J2N.Collections.StructuralEqualityComparer.Default.Equals(groupValue, otherMergedGroup.groupValue);}}else{return false;}}