def METHOD_NAME(self, val, currency="KRW", cents=False, separator="",
                adjective=False):
    left, right, is_negative = parse_currency_parts(
        val, is_int_with_cents=cents)
    try:
        cr1, cr2 = self.CURRENCY_FORMS[currency]
        if (cents or right) and not cr2:
            raise ValueError('Decimals not supported for "%s"' % currency)
    except KeyError:
        raise NotImplementedError(
            'Currency code "%s" not implemented for "%s"' %
            (currency, self.__class__.__name__))
    minus_str = self.negword if is_negative else ""
    return '%s%s%s%s%s' % (
        minus_str,
        ''.join(self.to_cardinal(left).split()),
        cr1,
        ' ' + self.to_cardinal(right)
        if cr2 else '',
        cr2 if cr2 else '',
    )