/// <summary>
        /// Initializes a new instance of the <see cref="ReverseGeocodeRequest" /> class.
        /// </summary>
        /// <param name="preferences">preferences.</param>
        /// <param name="points">points (required).</param>
        public ReverseGeocodeRequest(GeocodePreferences preferences = default(GeocodePreferences), List <Points> points = default(List <Points>))
        {
            // to ensure "points" is required (not null)
            if (points == null)
            {
                throw new InvalidDataException("points is a required property for ReverseGeocodeRequest and cannot be null");
            }
            else
            {
                this.Points = points;
            }

            this.Preferences = preferences;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="GeocodeRequest" /> class.
        /// </summary>
        /// <param name="type">type.</param>
        /// <param name="preferences">preferences.</param>
        /// <param name="addresses">addresses (required).</param>
        public GeocodeRequest(string type = default(string), GeocodePreferences preferences = default(GeocodePreferences), List <GeocodeAddress> addresses = default(List <GeocodeAddress>))
        {
            // to ensure "addresses" is required (not null)
            if (addresses == null)
            {
                throw new InvalidDataException("addresses is a required property for GeocodeRequest and cannot be null");
            }
            else
            {
                this.Addresses = addresses;
            }

            this.Type        = type;
            this.Preferences = preferences;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="KeyLookupRequest" /> class.
 /// </summary>
 /// <param name="type">type.</param>
 /// <param name="preferences">preferences.</param>
 /// <param name="keys">keys.</param>
 public KeyLookupRequest(string type = default(string), GeocodePreferences preferences = default(GeocodePreferences), List <Keys> keys = default(List <Keys>))
 {
     this.Type        = type;
     this.Preferences = preferences;
     this.Keys        = keys;
 }