docs: def get_attribute_proxy(self, attribute):
          """
          Returns a traversal proxy (cardinality ONE) or an iterable sequence
          data traversal proxy (cardinality MANY) for the specified relation
          attribute value of the proxied data.
  
          :raises ValueError: If :param:`attribute` is a terminal attribute.
          """
          attr_val = self._get_relation_attribute_value(attribute)
          if attr_val is None:
              prx = None
          else:
              if not self._accessor is None:
                  # FIXME: This implies that the accessor is an aggregate.
                  acc = self._accessor.get_root_aggregate(attribute.attr_type)
              else:
                  acc = None
              reg = get_current_registry()
              prx_fac = reg.getUtility(IDataTraversalProxyFactory)
              prx = prx_fac.make_proxy(attr_val,
                                       acc,
                                       self.relationship_direction,
                                       self.relation_operation,
                                       options=
                                          self._get_proxy_options(attribute))
          return prx