protected function processAll($filepath, $preview = false)
    {
        if (!$this->source) {
            user_error("No source has been configured for the bulk loader",
                E_USER_WARNING
            );
        }
        $results = new BetterBulkLoader_Result();
        $iterator = $this->getSource()->getIterator();
        foreach ($iterator as $record) {
            $this->processRecord($record, $this->columnMap, $results, $preview);
        }
        
        return $results;
    }