'Return the base value for this property of the given entity.
This implies calling all _to_base_type() methods, in the method
resolution order of the property\'s class, and adding a
_BaseValue() wrapper, if one is not already present.  (If one
is present, no work is done.)  It also handles default values and
repeated properties.'

def _get_base_value(self, entity):

    return self._apply_to_values(entity, self._opt_call_to_base_type)
