protected function performAction()
 {
     $jobs = array();
     $target = $this->title;
     $base = $this->title->getPrefixedText();
     $translationPages = $this->getTranslationPages();
     foreach ($translationPages as $old) {
         $jobs[$old->getPrefixedText()] = DeleteJob::newJob($old, $base, !$this->singleLanguage(), $this->user);
     }
     $sectionPages = $this->getSectionPages();
     foreach ($sectionPages as $old) {
         $jobs[$old->getPrefixedText()] = DeleteJob::newJob($old, $base, !$this->singleLanguage(), $this->user);
     }
     if (!$this->doSubpages) {
         $subpages = $this->getSubpages();
         foreach ($subpages as $old) {
             if (TranslatablePage::isTranslationPage($old)) {
                 continue;
             }
             $jobs[$old->getPrefixedText()] = DeleteJob::newJob($old, $base, !$this->singleLanguage(), $this->user);
         }
     }
     Job::batchInsert($jobs);
     $cache = wfGetCache(CACHE_DB);
     $cache->set(wfMemcKey('pt-base', $target->getPrefixedText()), array_keys($jobs), 60 * 60 * 6);
     if (!$this->singleLanguage()) {
         $this->page->removeTags();
     }
     MessageGroups::clearCache();
     MessageIndexRebuildJob::newJob()->insert();
     global $wgOut;
     $wgOut->addWikiMsg('pt-deletepage-started');
 }