/// <summary>
        ///
        /// </summary>
        /// <param name="types">
        /// A comma-separated list of item types that your client supports
        /// besides the default track type. Valid types are: track and episode.
        /// Note: This parameter was introduced to allow existing clients to maintain
        /// their current behaviour and might be deprecated in the future. In addition to
        /// providing this parameter, make sure that your client properly handles cases of new types in the
        ///  future by checking against the type field of each object. Defaults to ALL
        /// </param>
        public PlaylistGetItemsRequest(AdditionalTypes types = AdditionalTypes.All)
        {
            Ensure.ArgumentNotNull(types, nameof(types));

            AdditionalTypesParam = types;
            Fields = new List <string>();
        }
        /// <summary>
        /// A comma-separated list of item types that your client supports besides the default track type.
        /// Valid types are: track and episode. An unsupported type in the response is expected to be represented
        /// as null value in the item field. Note: This parameter was introduced to allow existing clients to
        /// maintain their current behaviour and might be deprecated in the future. In addition to providing
        /// this parameter, make sure that your client properly handles cases of new types in the future by
        /// checking against the currently_playing_type field. Defaults to AdditionalTypes.All
        /// </summary>
        /// <param name="types"></param>
        public PlayerCurrentlyPlayingRequest(AdditionalTypes types = AdditionalTypes.All)
        {
            Ensure.ArgumentNotNull(types, nameof(types));

            AdditionalTypesParam = types;
        }