'determine whether a particular property should be implicitly
present on the class.
This occurs when properties are propagated from an inherited class, or
are applied from the columns present in the mapped table.'

def _should_exclude(self, name, assigned_name, local, column):

    if local:
        if ((self.class_.__dict__.get(assigned_name, None) is not None) and self._is_userland_descriptor(self.class_.__dict__[assigned_name])):
            return True
    elif ((getattr(self.class_, assigned_name, None) is not None) and self._is_userland_descriptor(getattr(self.class_, assigned_name))):
        return True
    if ((self.include_properties is not None) and (name not in self.include_properties) and ((column is None) or (column not in self.include_properties))):
        self._log(('not    including    property    %s' % name))
        return True
    if ((self.exclude_properties is not None) and ((name in self.exclude_properties) or ((column is not None) and (column in self.exclude_properties)))):
        self._log(('excluding    property    %s' % name))
        return True
    return False
