A PropertyAccessor variant for data binding
purposes, using reflection to access properties for reading and possibly writing.
A property can be referenced through a public getter method (when being read)
or a public setter method (when being written), and also as a public field.
This accessor is explicitly designed for user-declared properties and does not
resolve technical properties on java.lang.Object or java.lang.Class.
For unrestricted resolution, choose ReflectivePropertyAccessor instead.