/// <summary>
        /// Returns true if CostMatrixDataInfo instances are equal
        /// </summary>
        /// <param name="input">Instance of CostMatrixDataInfo to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(CostMatrixDataInfo input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     Copyrights == input.Copyrights ||
                     Copyrights != null &&
                     Copyrights.SequenceEqual(input.Copyrights)
                     ) &&
                 (
                     Took == input.Took ||
                     (Took != null &&
                      Took.Equals(input.Took))
                 ));
        }
        /// <summary>
        /// Returns true if Response instances are equal
        /// </summary>
        /// <param name="input">Instance of Response to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(Response input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     Copyrights == input.Copyrights ||
                     Copyrights != null &&
                     Copyrights.SequenceEqual(input.Copyrights)
                     ) &&
                 (
                     JobId == input.JobId ||
                     (JobId != null &&
                      JobId.Equals(input.JobId))
                 ) &&
                 (
                     Status == input.Status ||
                     (Status != null &&
                      Status.Equals(input.Status))
                 ) &&
                 (
                     WaitingInQueue == input.WaitingInQueue ||
                     (WaitingInQueue != null &&
                      WaitingInQueue.Equals(input.WaitingInQueue))
                 ) &&
                 (
                     ProcessingTime == input.ProcessingTime ||
                     (ProcessingTime != null &&
                      ProcessingTime.Equals(input.ProcessingTime))
                 ) &&
                 (
                     Solution == input.Solution ||
                     (Solution != null &&
                      Solution.Equals(input.Solution))
                 ));
        }