public function get(string $identifier, string $fileExtension = '', callable $saveCallback = null)
    {
        $fileName = $this->getCacheFileName($identifier);
        $cachePath = $this->cacheFolderWithNamespace.'/'.$fileName;

        if (!empty($fileExtension)) {
            $fileName .= '.'.$fileExtension;
            $cachePath .= '.'.$fileExtension;
        }
        $file = new File($cachePath);

        if (!$file->exists()) {
            if (null !== $saveCallback) {
                if ($saveCallback($identifier, $this->cacheFolderWithNamespace, $fileName)) {
                    return $this->cacheFolderWithNamespace.'/'.$fileName;
                }
            }

            return false;
        }

        return $file->path;
    }