docs: def get_catalog_hierarchy_session(self, proxy):
          """Gets the catalog hierarchy traversal session.
  
          arg:    proxy (osid.proxy.Proxy): proxy
          return: (osid.cataloging.CatalogHierarchySession) - a
                  ``CatalogHierarchySession``
          raise:  NullArgument - ``proxy`` is null
          raise:  OperationFailed - unable to complete request
          raise:  Unimplemented - ``supports_catalog_hierarchy()`` is
                  ``false``
          *compliance: optional -- This method must be implemented if
          ``supports_catalog_hierarchy()`` is ``true``.*
  
          """
          if not self.supports_catalog_hierarchy():
              raise errors.Unimplemented()
          # pylint: disable=no-member
          return sessions.CatalogHierarchySession(proxy=proxy, runtime=self._runtime)