protected bool Equals(ContentType other)
 {
     return(Equals(Info, other.Info) &&
            GenericProperties.NullableSequenceEqual(other.GenericProperties) &&
            Tabs.NullableSequenceEqual(other.Tabs) &&
            Structure.NullableSequenceEqual(other.Structure));
 }
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (Info != null ? Info.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (GenericProperties != null ? GenericProperties.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Tabs != null ? Tabs.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Structure != null ? Structure.GetHashCode() : 0);
         return(hashCode);
     }
 }