public function refreshTokenAttributes($batch_id, $cond = null)
    {
        $batch = $this->loader->getTaskRunnerBatch($batch_id);

        if (! $batch->isLoaded()) {
            $tokenSelect = $this->getTokenSelect(array('gto_id_token'));
            $tokenSelect->andSurveys(array())
                        ->forWhere('gsu_surveyor_active = 1')
                        ->forWhere('gto_in_source = 1');

            if ($cond) {
                // Add all connections for filtering, but select only surveys that are active in the source
                $tokenSelect->andReceptionCodes(array())
                        ->andRespondents(array())
                        ->andRespondentOrganizations(array())
                        ->andConsents(array())
                        ->forWhere($cond);
            }

            foreach ($this->db->fetchCol($tokenSelect->getSelect()) as $token) {
                $batch->addTask('Tracker_RefreshTokenAttributes', $token);
            }
        }
        self::$verbose = true;

        return $batch;
    }