public AppendAdditionAttribute(params Type[] additionTypes)
{
for (int i = 0; i < additionTypes.Length; i++)
{
if (!typeof(IPropertyGroup).IsAssignableFrom(additionTypes[i]))
{
throw new ArgumentException($"AdditionType must implement IPropertyGroup: {additionTypes[i]}");
}
}
this.additionTypes = additionTypes.Clone() as Type[];
}
}