public function saveAllPages(BlockManagerApprover $approver, array $languages, $saveCommonSlots = true)
    {
        $this->contributorDefined();

        $finder = new Finder();
        $pages = $finder->directories()->depth(0)->in($this->pagesDir);
        foreach ($pages as $page) {
            $page = (string)$page;
            $pageName = basename($page);
            foreach ($languages as $language) {
                $tokens = explode("_", $language);
                $options = array(
                    'page' => $pageName,
                    'language' => $tokens[0],
                    'country' => $tokens[1],
                );
                $this->save($approver, $options, $saveCommonSlots);
            }
            $saveCommonSlots = false;
        }

        Dispatcher::dispatch(PageCollectionEvents::SITE_SAVED, new SiteSavedEvent());
        DataLogger::log('The whole website\'s pages were successfully saved in production');
    }