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

            return
                ((
                     Class == other.Class ||
                     Class != null &&
                     Class.Equals(other.Class)
                     ) &&
                 (
                     Number == other.Number ||
                     Number != null &&
                     Number.Equals(other.Number)
                 ) &&
                 (
                     Url == other.Url ||
                     Url != null &&
                     Url.Equals(other.Url)
                 ) &&
                 (
                     Actions == other.Actions ||
                     Actions != null &&
                     Actions.SequenceEqual(other.Actions)
                 ) &&
                 (
                     Building == other.Building ||
                     Building != null &&
                     Building.Equals(other.Building)
                 ) &&
                 (
                     Description == other.Description ||
                     Description != null &&
                     Description.Equals(other.Description)
                 ) &&
                 (
                     DisplayName == other.DisplayName ||
                     DisplayName != null &&
                     DisplayName.Equals(other.DisplayName)
                 ) &&
                 (
                     Duration == other.Duration ||
                     Duration != null &&
                     Duration.Equals(other.Duration)
                 ) &&
                 (
                     EstimatedDuration == other.EstimatedDuration ||
                     EstimatedDuration != null &&
                     EstimatedDuration.Equals(other.EstimatedDuration)
                 ) &&
                 (
                     Executor == other.Executor ||
                     Executor != null &&
                     Executor.Equals(other.Executor)
                 ) &&
                 (
                     FullDisplayName == other.FullDisplayName ||
                     FullDisplayName != null &&
                     FullDisplayName.Equals(other.FullDisplayName)
                 ) &&
                 (
                     Id == other.Id ||
                     Id != null &&
                     Id.Equals(other.Id)
                 ) &&
                 (
                     KeepLog == other.KeepLog ||
                     KeepLog != null &&
                     KeepLog.Equals(other.KeepLog)
                 ) &&
                 (
                     QueueId == other.QueueId ||
                     QueueId != null &&
                     QueueId.Equals(other.QueueId)
                 ) &&
                 (
                     Result == other.Result ||
                     Result != null &&
                     Result.Equals(other.Result)
                 ) &&
                 (
                     Timestamp == other.Timestamp ||
                     Timestamp != null &&
                     Timestamp.Equals(other.Timestamp)
                 ) &&
                 (
                     BuiltOn == other.BuiltOn ||
                     BuiltOn != null &&
                     BuiltOn.Equals(other.BuiltOn)
                 ) &&
                 (
                     ChangeSet == other.ChangeSet ||
                     ChangeSet != null &&
                     ChangeSet.Equals(other.ChangeSet)
                 ));
        }