BeanWrapperImpl will convert collection and array values
to the corresponding target collections or arrays, if necessary. Custom
property editors that deal with collections or arrays can either be
written via PropertyEditor's setValue, or against a
comma-delimited String via setAsText, as String arrays are
converted in such a format if the array itself is not assignable.

setWrappedInstance(Object object)
Switch the target object, replacing the cached introspection results only
if the class of the new object is different to that of the replaced object.

void

setWrappedInstance(Object object,
String nestedPath,
Object rootObject)
Switch the target object, replacing the cached introspection results only
if the class of the new object is different to that of the replaced object.

getRootClass

setAutoGrowNestedPaths

public void setAutoGrowNestedPaths(boolean autoGrowNestedPaths)

Set whether this BeanWrapper should attempt to "auto-grow" a nested path that contains a null value.

If "true", a null path location will be populated with a default object value and traversed
instead of resulting in a NullValueInNestedPathException. Turning this flag on also
enables auto-growth of collection elements when accessing an out-of-bounds index.

Conversions from String to any type will typically use the setAsText
method of the PropertyEditor class. Note that a PropertyEditor must be registered
for the given class for this to work; this is a standard JavaBeans API.
A number of PropertyEditors are automatically registered.