// <auto-generated>
{{partial_header}}
{{#nrt}}
#nullable enable

{{/nrt}}
using System.Linq;
using System.Collections.Generic;

namespace {{packageName}}.{{clientPackage}}
{
    /// <summary>
    /// A container for a collection of tokens.
    /// </summary>
    /// <typeparam name="TTokenBase"></typeparam>
    {{>visibility}} sealed class TokenContainer<TTokenBase> where TTokenBase : TokenBase
    {
        /// <summary>
        /// The collection of tokens
        /// </summary>
        public List<TTokenBase> Tokens { get; } = new List<TTokenBase>();

        /// <summary>
        /// Instantiates a TokenContainer
        /// </summary>
        public TokenContainer()
        {
        }

        /// <summary>
        /// Instantiates a TokenContainer
        /// </summary>
        /// <param name="tokens"></param>
        public TokenContainer(System.Collections.Generic.IEnumerable<TTokenBase> tokens)
        {
            Tokens = tokens.ToList();
        }
    }
}