public void EnsureListCreated(object target)
{
if (!IsListType)
throw new InvalidOperationException("Cannot create list for field that is not a list");
object list = property.GetValue(target, null);
if (list == null)
{
list = createListCtor.Invoke(paramlessArgs);
property.SetValue(target, list, null);
}
}