protected function backupGlobalAliases()
    {
        $table = static::GLOBAL_ALIAS_BACKUP_TABLE;

        if (!$this->tableExists($table)) {
            $this->createGlobalUrlAliasBackupTable();
        }

        if (!$this->isTableEmpty($table)) {
            throw new RuntimeException(
                "Table '{$table}' contains data. " .
                "Ensure it's empty or non-existent (it will be automatically created)."
            );
        }

        $this->doBackupGlobalAliases();
    }