protected function store(CacheManager $cache, string $key, $value, ?Carbon $expiration, array $tags): void
    {
        $supportsTags = $this->useTags($cache);

        if ($expiration) {
            $supportsTags
                ? $cache->tags($tags)->put($key, $value, $expiration)
                : $cache->put($key, $value, $expiration);

            return;
        }

        $supportsTags
            ? $cache->tags($tags)->forever($key, $value)
            : $cache->forever($key, $value);
    }