public function crawl()
    {
        $this->setTime('start');

        $config = $this->getConfig();
        $host = $this->getDataService()->getHost();

        // Here we go. Lets get the export party started.
        // At first, lets check if the current Gerrit review system is known by the database
        $this->proceedServer($config['Name'], $host);

        // After this, lets start to save all projects.
        // We need the projects first, because this is our "entry point" for the data mining.
        $this->proceedProjects();

        $this->output('');
        $this->outputHeadline('Export changesets per project');

        // Get all projects again and loop over every single project to import them :)
        $projects = $this->getGerritProjectsByServerId($this->getServerId());
        foreach ($projects as $project) {
            $this->output('Project "' . $project['name'] . '" ... Starts', self::OUTPUT_COMMENT);

            $this->proceedChangesetsOfProject($host, $project);

            $this->output('Project "' . $project['name'] . '" ... Ends', self::OUTPUT_COMMENT);
            $this->outputMemoryUsage();
            $this->output('');
        }

        // Clear the temp tables. The data is not needed anymore
        $this->cleanupTempTables();

        $this->setTime('end');
        $this->outputEndStatistics();

        return true;
    }