/// <summary>
 /// Initializes a new instance of the <see cref="DocumentComponent" /> class.
 /// </summary>
 /// <param name="identificatie">identificatie (required).</param>
 /// <param name="kop">kop (required).</param>
 /// <param name="omgevingsdocument">omgevingsdocument (required).</param>
 /// <param name="type">&lt;body&gt;&lt;p&gt;Een inhoudelijke toelichting op de toepassing van het informatie-element.&lt;/p&gt;&lt;/body&gt;&lt;body&gt;&lt;p&gt;De verzameling van waarden die gegevens van dit attribuutsoort kunnen hebben, dat wil zeggen het waardenbereik, uitgedrukt in een specifieke structuur.&lt;/p&gt;&lt;/body&gt; (required).</param>
 /// <param name="vervallen">&lt;body&gt;&lt;p&gt;Een inhoudelijke toelichting op de toepassing van het informatie-element.&lt;/p&gt;&lt;/body&gt; (required).</param>
 /// <param name="volgordeNummer">&lt;body&gt;&lt;p&gt;Een inhoudelijke toelichting op de toepassing van het informatie-element.&lt;/p&gt;&lt;/body&gt; (required).</param>
 public DocumentComponent(string identificatie = default(string), Kop kop = default(Kop), Omgevingsdocument omgevingsdocument = default(Omgevingsdocument), string type = default(string), bool vervallen = default(bool), int volgordeNummer = default(int))
 {
     // to ensure "identificatie" is required (not null)
     this.Identificatie = identificatie ?? throw new ArgumentNullException("identificatie is a required property for DocumentComponent and cannot be null");
     // to ensure "kop" is required (not null)
     this.Kop = kop ?? throw new ArgumentNullException("kop is a required property for DocumentComponent and cannot be null");
     // to ensure "omgevingsdocument" is required (not null)
     this.Omgevingsdocument = omgevingsdocument ?? throw new ArgumentNullException("omgevingsdocument is a required property for DocumentComponent and cannot be null");
     // to ensure "type" is required (not null)
     this.Type           = type ?? throw new ArgumentNullException("type is a required property for DocumentComponent and cannot be null");
     this.Vervallen      = vervallen;
     this.VolgordeNummer = volgordeNummer;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="DocumentComponent" /> class.
        /// </summary>
        /// <param name="identificatie">&lt;body&gt;&lt;p&gt;Identificatie datatype van de KOOP standaard.&lt;/p&gt;&lt;/body&gt; (required).</param>
        /// <param name="kop">kop (required).</param>
        /// <param name="omgevingsdocument">omgevingsdocument (required).</param>
        /// <param name="type">&lt;body&gt;&lt;p&gt;De aanduiding van het type regeling van het omgevingsdocument.&lt;/p&gt;&lt;/body&gt; (required).</param>
        /// <param name="vervallen">&lt;body&gt;&lt;p&gt;Indicatie dat de regeltekst is vervallen.&lt;/p&gt;&lt;/body&gt; (required).</param>
        /// <param name="volgordeNummer">&lt;body&gt;&lt;p&gt;Het lidnummer indien de regeltekst een lid van een artikel betreft.&lt;/p&gt;&lt;/body&gt; (required).</param>
        public DocumentComponent(string identificatie = default(string), Kop kop = default(Kop), Omgevingsdocument omgevingsdocument = default(Omgevingsdocument), string type = default(string), bool vervallen = default(bool), int volgordeNummer = default(int))
        {
            // to ensure "identificatie" is required (not null)
            if (identificatie == null)
            {
                throw new InvalidDataException("identificatie is a required property for DocumentComponent and cannot be null");
            }
            else
            {
                this.Identificatie = identificatie;
            }

            // to ensure "kop" is required (not null)
            if (kop == null)
            {
                throw new InvalidDataException("kop is a required property for DocumentComponent and cannot be null");
            }
            else
            {
                this.Kop = kop;
            }

            // to ensure "omgevingsdocument" is required (not null)
            if (omgevingsdocument == null)
            {
                throw new InvalidDataException("omgevingsdocument is a required property for DocumentComponent and cannot be null");
            }
            else
            {
                this.Omgevingsdocument = omgevingsdocument;
            }

            // to ensure "type" is required (not null)
            if (type == null)
            {
                throw new InvalidDataException("type is a required property for DocumentComponent and cannot be null");
            }
            else
            {
                this.Type = type;
            }

            // to ensure "vervallen" is required (not null)
            if (vervallen == null)
            {
                throw new InvalidDataException("vervallen is a required property for DocumentComponent and cannot be null");
            }
            else
            {
                this.Vervallen = vervallen;
            }

            // to ensure "volgordeNummer" is required (not null)
            if (volgordeNummer == null)
            {
                throw new InvalidDataException("volgordeNummer is a required property for DocumentComponent and cannot be null");
            }
            else
            {
                this.VolgordeNummer = volgordeNummer;
            }
        }