public override bool Equals(object obj, SpatialEqualityOptions options) { var other = obj as GeometryCollection; if (ReferenceEquals(null, other)) { return(false); } if (Geometries.Count != other.Geometries.Count) { return(false); } return(!Geometries .Where((t, i) => !t.Equals(other.Geometries[i], options)) .Any()); }