/// <summary>
            /// Compares two GetChargeDetailRecords responses for equality.
            /// </summary>
            /// <param name="GetChargeDetailRecordsResponse">A GetChargeDetailRecords response to compare with.</param>
            /// <returns>True if both match; False otherwise.</returns>
            public override Boolean Equals(GetChargeDetailRecordsResponse GetChargeDetailRecordsResponse)
            {
                if ((Object)GetChargeDetailRecordsResponse == null)
                {
                    return(false);
                }

                return((!ChargeDetailRecords.Any() && !GetChargeDetailRecordsResponse.ChargeDetailRecords.Any()) ||
                       (ChargeDetailRecords.Any() && GetChargeDetailRecordsResponse.ChargeDetailRecords.Any() && ChargeDetailRecords.Count().Equals(GetChargeDetailRecordsResponse.ChargeDetailRecords.Count())) &&

                       (StatusCode != null && GetChargeDetailRecordsResponse.StatusCode != null) ||
                       (StatusCode == null && GetChargeDetailRecordsResponse.StatusCode == null && StatusCode.Equals(GetChargeDetailRecordsResponse.StatusCode)));
            }
        /// <summary>
        /// Return a text-representation of this object.
        /// </summary>
        public override String ToString()

        => String.Concat(ChargeDetailRecords.Count() + " charge detail record(s)",
                         StatusCode.HasValue
                                 ? " -> " + StatusCode.Value.Code
                                 : "");