/// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (Name != null)
         {
             hashCode = hashCode * 59 + Name.GetHashCode();
         }
         if (Title != null)
         {
             hashCode = hashCode * 59 + Title.GetHashCode();
         }
         if (Details != null)
         {
             hashCode = hashCode * 59 + Details.GetHashCode();
         }
         if (Enabled != null)
         {
             hashCode = hashCode * 59 + Enabled.GetHashCode();
         }
         if (ServiceName != null)
         {
             hashCode = hashCode * 59 + ServiceName.GetHashCode();
         }
         if (LogLevel != null)
         {
             hashCode = hashCode * 59 + LogLevel.GetHashCode();
         }
         if (QueueProcessingEnabled != null)
         {
             hashCode = hashCode * 59 + QueueProcessingEnabled.GetHashCode();
         }
         if (PackageExporterTarget != null)
         {
             hashCode = hashCode * 59 + PackageExporterTarget.GetHashCode();
         }
         if (PackageImporterTarget != null)
         {
             hashCode = hashCode * 59 + PackageImporterTarget.GetHashCode();
         }
         if (RequestAuthorizationStrategyTarget != null)
         {
             hashCode = hashCode * 59 + RequestAuthorizationStrategyTarget.GetHashCode();
         }
         if (TriggersTarget != null)
         {
             hashCode = hashCode * 59 + TriggersTarget.GetHashCode();
         }
         return(hashCode);
     }
 }