public TokenGroup(ITokenCollection tokens) { if (tokens == null) { throw new ArgumentNullException(nameof(tokens)); } Tokens = tokens; TokenTypes = tokens.Select(t => t.GetType()).Distinct().ToArray(); }