public WrappedAttribute(TAttribute attribute)
 {
     InternalOrder = ++_currentIndex;
     Attribute     = attribute;
     foreach (var associatedAttribute in Attribute.AssociatedAttributes
              .Where(associatedAttribute => associatedAttribute is TAttribute))
     {
         AssociatedAttributes.Add(new WrappedAttribute((TAttribute)associatedAttribute));
     }
 }
 internal NonNullableAttribute(bool detectValueTypes)
 {
     _detectValueTypes = detectValueTypes;
     Order             = ConverterAttribute.OverrideOrder;
     AssociatedAttributes.Add(new NonNullConverterAttribute());
 }
 public NonNullableAttribute()
 {
     Order = TypeAttribute.InterjectionOrder;
     AssociatedAttributes.Add(new MetaDataAttribute());
 }