public bool Equals(Test other) { return(String == other.String && Int == other.Int && DateTime == other.DateTime && (SingleChildObject == null && other.SingleChildObject == null || SingleChildObject.Equals(other.SingleChildObject)) && ChildElements.SequenceEqual(other.ChildElements) && Children.SequenceEqual(other.Children)); }