/// Expert: Adds a custom AttributeImpl instance with one or more Attribute interfaces.
/// Please note: It is not guaranteed, that attr is added to
/// the AttributeSource, because the provided attributes may already exist.
/// You should always retrieve the wanted attributes using after adding
/// with this method and cast to your class.
/// The recommended way to use custom implementations is using an
///
///
public virtual void AddAttributeImpl(Attribute attr)
{
Type attrType = attr.GetType();
if (attributeImpls.Contains(attrType))
return;
LinkedList