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

            return
                ((
                     HttpNsAdobeComAdobecloudRelExecution == other.HttpNsAdobeComAdobecloudRelExecution ||
                     HttpNsAdobeComAdobecloudRelExecution != null &&
                     HttpNsAdobeComAdobecloudRelExecution.Equals(other.HttpNsAdobeComAdobecloudRelExecution)
                     ) &&
                 (
                     HttpNsAdobeComAdobecloudRelPipeline == other.HttpNsAdobeComAdobecloudRelPipeline ||
                     HttpNsAdobeComAdobecloudRelPipeline != null &&
                     HttpNsAdobeComAdobecloudRelPipeline.Equals(other.HttpNsAdobeComAdobecloudRelPipeline)
                 ) &&
                 (
                     HttpNsAdobeComAdobecloudRelPipelineLogs == other.HttpNsAdobeComAdobecloudRelPipelineLogs ||
                     HttpNsAdobeComAdobecloudRelPipelineLogs != null &&
                     HttpNsAdobeComAdobecloudRelPipelineLogs.Equals(other.HttpNsAdobeComAdobecloudRelPipelineLogs)
                 ) &&
                 (
                     HttpNsAdobeComAdobecloudRelPipelineMetrics == other.HttpNsAdobeComAdobecloudRelPipelineMetrics ||
                     HttpNsAdobeComAdobecloudRelPipelineMetrics != null &&
                     HttpNsAdobeComAdobecloudRelPipelineMetrics.Equals(other.HttpNsAdobeComAdobecloudRelPipelineMetrics)
                 ) &&
                 (
                     HttpNsAdobeComAdobecloudRelPipelineAdvance == other.HttpNsAdobeComAdobecloudRelPipelineAdvance ||
                     HttpNsAdobeComAdobecloudRelPipelineAdvance != null &&
                     HttpNsAdobeComAdobecloudRelPipelineAdvance.Equals(other.HttpNsAdobeComAdobecloudRelPipelineAdvance)
                 ) &&
                 (
                     HttpNsAdobeComAdobecloudRelPipelineCancel == other.HttpNsAdobeComAdobecloudRelPipelineCancel ||
                     HttpNsAdobeComAdobecloudRelPipelineCancel != null &&
                     HttpNsAdobeComAdobecloudRelPipelineCancel.Equals(other.HttpNsAdobeComAdobecloudRelPipelineCancel)
                 ) &&
                 (
                     HttpNsAdobeComAdobecloudRelProgram == other.HttpNsAdobeComAdobecloudRelProgram ||
                     HttpNsAdobeComAdobecloudRelProgram != null &&
                     HttpNsAdobeComAdobecloudRelProgram.Equals(other.HttpNsAdobeComAdobecloudRelProgram)
                 ) &&
                 (
                     Self == other.Self ||
                     Self != null &&
                     Self.Equals(other.Self)
                 ));
        }