def get_objective_bank_hierarchy_session(self):
if not self.supports_objective_bank_hierarchy():<EOL><INDENT>raise Unimplemented()<EOL><DEDENT>try:<EOL><INDENT>from . import sessions<EOL><DEDENT>except ImportError:<EOL><INDENT>raise OperationFailed()<EOL><DEDENT>try:<EOL><INDENT>session = sessions.ObjectiveBankHierarchySession(runtime=self._runtime)<EOL><DEDENT>except AttributeError:<EOL><INDENT>raise OperationFailed()<EOL><DEDENT>return session<EOL>
Gets the session traversing objective bank hierarchies.

        return: (osid.learning.ObjectiveBankHierarchySession) - an
                ObjectiveBankHierarchySession
        raise:  OperationFailed - unable to complete request
        raise:  Unimplemented - supports_objective_bank_hierarchy() is
                false
        compliance: optional - This method must be implemented if
                    supports_objective_bank_hierarchy() is true.