'Implement the getter for the Python `descriptor protocol`_.
For instance attribute access, we delegate to the |Property|. For
class attribute access, we return ourself.
Args:
obj (HasProps or None) :
The instance to set a new property value on (for instance
attribute access), or None (for class attribute access)
owner (obj) :
The new value to set the property to
Returns:
None
Examples:
.. code-block:: python
>>> from bokeh.models import Range1d
>>> r = Range1d(start=10, end=20)
# instance attribute access, returns the property value
>>> r.start
10
# class attribute access, returns the property descriptor
>>> Range1d.start
<bokeh.core.property.descriptors.BasicPropertyDescriptor at 0x1148b3390>'

def __get__(self, obj, owner):

    if (obj is not None):
        return self._get(obj)
    elif (owner is not None):
        return self
    else:
        raise ValueError("both    'obj'    and    'owner'    are    None,    don't    know    what    to    do")
