public function create(string $locale = null, string $currency = null)
    {
        $locale = $locale ?? $this->localeProvider->getCurrentLocale();
        $currency = $currency ?? $this->currencyProvider->getCurrentCurrency();

        if (isset($this->cache[$key = strtolower("$locale-$currency")])) {
            return $this->cache[$key];
        }

        return $this->cache[$key] = new Formatter($locale, $currency);
    }