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

            return
                ((
                     Context == input.Context ||
                     (Context != null &&
                      Context.Equals(input.Context))
                     ) &&
                 (
                     DefaultValue == input.DefaultValue ||
                     (DefaultValue != null &&
                      DefaultValue.Equals(input.DefaultValue))
                 ) &&
                 (
                     Description == input.Description ||
                     (Description != null &&
                      Description.Equals(input.Description))
                 ) &&
                 (
                     Label == input.Label ||
                     (Label != null &&
                      Label.Equals(input.Label))
                 ) &&
                 (
                     Name == input.Name ||
                     (Name != null &&
                      Name.Equals(input.Name))
                 ) &&
                 (
                     Required == input.Required ||
                     (Required != null &&
                      Required.Equals(input.Required))
                 ) &&
                 (
                     Type == input.Type ||
                     (Type != null &&
                      Type.Equals(input.Type))
                 ) &&
                 (
                     Min == input.Min ||
                     (Min != null &&
                      Min.Equals(input.Min))
                 ) &&
                 (
                     Max == input.Max ||
                     (Max != null &&
                      Max.Equals(input.Max))
                 ) &&
                 (
                     Stepsize == input.Stepsize ||
                     (Stepsize != null &&
                      Stepsize.Equals(input.Stepsize))
                 ) &&
                 (
                     Pattern == input.Pattern ||
                     (Pattern != null &&
                      Pattern.Equals(input.Pattern))
                 ) &&
                 (
                     ReadOnly == input.ReadOnly ||
                     (ReadOnly != null &&
                      ReadOnly.Equals(input.ReadOnly))
                 ) &&
                 (
                     Multiple == input.Multiple ||
                     (Multiple != null &&
                      Multiple.Equals(input.Multiple))
                 ) &&
                 (
                     MultipleLimit == input.MultipleLimit ||
                     (MultipleLimit != null &&
                      MultipleLimit.Equals(input.MultipleLimit))
                 ) &&
                 (
                     GroupName == input.GroupName ||
                     (GroupName != null &&
                      GroupName.Equals(input.GroupName))
                 ) &&
                 (
                     Advanced == input.Advanced ||
                     (Advanced != null &&
                      Advanced.Equals(input.Advanced))
                 ) &&
                 (
                     Verify == input.Verify ||
                     (Verify != null &&
                      Verify.Equals(input.Verify))
                 ) &&
                 (
                     LimitToOptions == input.LimitToOptions ||
                     (LimitToOptions != null &&
                      LimitToOptions.Equals(input.LimitToOptions))
                 ) &&
                 (
                     Unit == input.Unit ||
                     (Unit != null &&
                      Unit.Equals(input.Unit))
                 ) &&
                 (
                     UnitLabel == input.UnitLabel ||
                     (UnitLabel != null &&
                      UnitLabel.Equals(input.UnitLabel))
                 ) &&
                 (
                     Options == input.Options ||
                     Options != null &&
                     Options.SequenceEqual(input.Options)
                 ) &&
                 (
                     FilterCriteria == input.FilterCriteria ||
                     FilterCriteria != null &&
                     FilterCriteria.SequenceEqual(input.FilterCriteria)
                 ));
        }