public void AddValue(object target, object value)
{
if (!IsListType)
throw new InvalidOperationException("Cannot add values to field that is not a list");
object list = property.GetValue(target, null);
addValueToListMethod.Invoke(list, new object[] { value });
}