public virtual PermissionDefinition GetOrNull(string name)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentException("Value cannot be null or whitespace.", nameof(name));
            }

            return(PermissionDefinitions.TryGetValue(name, out var value) ? value : default);