def get_proxy_session(self):
if not self.supports_proxy():<EOL><INDENT>raise Unimplemented()<EOL><DEDENT>try:<EOL><INDENT>from . import sessions<EOL><DEDENT>except ImportError:<EOL><INDENT>raise  <EOL><DEDENT>try:<EOL><INDENT>session = sessions.ProxySession()<EOL><DEDENT>except AttributeError:<EOL><INDENT>raise  <EOL><DEDENT>return session<EOL>
Gets a ``ProxySession`` which is responsible for acquiring authentication credentials on behalf of a service client.

        :return: a proxy session for this service
        :rtype: ``osid.proxy.ProxySession``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``Unimplemented`` -- ``supports_proxy()`` is ``false``

        *compliance: optional -- This method must be implemented if ``supports_proxy()`` is ``true``.*