public override bool Equals(object obj) { if (obj is AtomData) { var other = (AtomData )obj; if (name == null) { if (other.name != null) { return(false); } } else { if (!name.Equals(other.name)) { return(false); } } if (child != null) { return(child.Equals(other.child)); } return(other.child == null); } return(false); }