public virtual bool Equals(CargoState other) { if (null == other) { return(false); } if (!this.GetType().Equals(other.GetType())) { return(false); } if (!Equals(other as IDelivery)) { return(false); } if (object.ReferenceEquals(this, other)) { return(true); } if (!Identifier.Equals(other.Identifier)) { return(false); } if (!RouteSpecification.Equals(other.RouteSpecification)) { return(false); } if (!Itinerary.Equals(other.Itinerary)) { return(false); } return(true); }