private IDictionary<Type, CustomAttributeData> GetAttributeMap() { return GetAttributes() .Select(a => new { Key = GetFirstLevelAttributeType(a.AttributeType), Value = a }) .Where(x => x.Key != null) .ToDictionary(x => x.Key, x => x.Value); }