All data fields which are marked by @PogProp annotation and
PropertyEditorManager can find editor for them are recognized as
Properties of introspectable proxy and are returned by this method.
The problem with Python introspection is, that we can't rely on the
information about the wrapper of the object in stored place
as it can change between two calls of PyObjectAdapter methods.
This class is wrapper for PyObject which probes the PyObject
for it's type and accessibility and provides methods neccessary
for introspection of the PyObject
If you want to extend the number of classes the Python introspection
accepts, than simply create class PyNewClassWrapper extends PyObjectWrapper
and add it to a PyObjectAdapater.probeObject() body.
This absract class is used for anonymous classes which decribes
where the PyObject lies (it's owner), when we do set() on the
property we have to know where to write the new value.
Factory object that is registered through SPI standard and creates
PythonEngineScriptProxy if it is asked to create proxy for
com.sun.script.jython.JythonScriptEngine engine.
This accepts java class instance which is proper for the
object it wrappes - it uses wrapper.getNewValue() for
obtaining the PyObject representation of the java object
and then it uses place.set() to insert the new value to
it's correct place in another python object.