@abc.abstractmethod<EOL><INDENT>def get_currency_conversion_session_for_type(self, source_currency_type, target_currency_type):<DEDENT>
return<EOL>
Gets an ``OsidSession`` associated with the currency conversion service and the given currency types.

        :param source_currency_type: the type of the source currency
        :type source_currency_type: ``osid.type.Type``
        :param target_currency_type: the type of the target currency
        :type target_currency_type: ``osid.type.Type``
        :return: a ``CurrencyConversionSession``
        :rtype: ``osid.locale.CurrencyConversionSession``
        :raise: ``NullArgument`` -- ``source_currency_type`` or ``target_currency_type`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``Unimplemented`` -- ``supports_currency_conversion()`` or ``supports_visible_federation()`` is ``false``
        :raise: ``Unsupported`` -- ``supports_currency_types_for_conversion(source_currency_type, target_currency_type)`` is ``false``

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