'Implement the getter for the Python `descriptor protocol`_.
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
Raises:
NotImplementedError
**Subclasses must implement this to serve their specific needs.**'

def __get__(self, obj, owner):

    raise NotImplementedError('Implement    __get__')
