docs: def _attribute_iterator(self, mapped_class, key):
          """
          Returns an iterator over the attributes in this mapping for the
          given mapped class and attribute key.
  
          If this is a pruning mapping, attributes that are ignored because
          of a custom configuration or because of the default ignore rules
          are skipped.
          """
          for attr in \
            itervalues_(self.__get_attribute_map(mapped_class, key, 0)):
              if self.is_pruning:
                  do_ignore = attr.should_ignore(key)
              else:
                  do_ignore = False
              if not do_ignore:
                  yield attr