public override bool Equals(object obj) { var vvh = obj as ValueValueHolder; if (vvh == null) { return(false); } if (ReferenceEquals(this, vvh)) { return(true); } if (Child != null) { return(Child.Equals(vvh.Child)); } return(vvh.Child == null); }