public override bool Equals(object o) { if (!(o is PharmacophoreAtom)) { return(false); } PharmacophoreAtom that = (PharmacophoreAtom)o; return(Smarts.Equals(that.Smarts, StringComparison.Ordinal) && Symbol.Equals(that.Symbol, StringComparison.Ordinal) && Point3D.Equals(that.Point3D) && Arrays.AreEqual(this.matchingAtoms, that.matchingAtoms)); }