protected function getArchiveFilePath($id, $existCheck = false)
    {
        $fileName = $id . '.json';
        return $this->getArchivePath()->then(
            function($dirPath) use ($fileName) {
                return rtrim($dirPath) . DIRECTORY_SEPARATOR . $fileName;
            }
        )->then(
            function($filePath) use ($existCheck) {
                if ($existCheck) {
                    return \Reaction::$app->fs->file($filePath)->exists()->then(
                        function() use ($filePath) {
                            return $filePath;
                        }
                    );
                }
                return resolve($filePath);
            }
        );
    }