@abc.abstractmethod<EOL><INDENT>def get_hierarchy_design_session_for_hierarchy(self, hierarchy_id):<DEDENT>
return<EOL>
Gets the ``OsidSession`` associated with the topology design service using for the given hierarchy.

        :param hierarchy_id: the ``Id`` of the graph
        :type hierarchy_id: ``osid.id.Id``
        :return: a ``HierarchyDesignSession``
        :rtype: ``osid.hierarchy.HierarchyDesignSession``
        :raise: ``NotFound`` -- ``hierarchy_id`` is not found
        :raise: ``NullArgument`` -- ``hierarchy_id`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``Unimplemented`` -- ``supports_hierarchy_design()`` or ``supports_visible_federation()`` is ``false``

        *compliance: optional -- This method must be implemented if
        ``supports_hierarchy_design()`` and
        ``supports_visible_federation()`` are ``true``.*