Provides operations to analyze and manipulate standard JavaBeans:
the ability to get and set property values (individually or in bulk),
get property descriptors, and query the readability/writability of properties.

This interface supports nested properties enabling the setting
of properties on subproperties to an unlimited depth.
A BeanWrapper instance can be used repeatedly, with its
target object (the wrapped JavaBean
instance) changing as required.

A BeanWrapper's default for the "extractOldValueForEditor" setting
is "false", to avoid side effects caused by getter method invocations.
Turn this to "true" to expose present property values to custom editors.