/**
  * Collect coverage data.
  *
  * @param  SimpleXMLElement                                    $file     Clover XML object of a file.
  * @param  string                                              $path     Path to source file.
  * @param  string                                              $filename Filename.
  * @return \Contrib\Bundle\CoverallsV1Bundle\Entity\SourceFile
  */
 protected function collectCoverage(\SimpleXMLElement $file, $path, $filename)
 {
     if ($this->jsonFile->hasSourceFile($path)) {
         $srcFile = $this->jsonFile->getSourceFile($path);
     } else {
         $srcFile = new SourceFile($path, $filename);
     }
     foreach ($file->line as $line) {
         if ((string) $line['type'] === 'stmt') {
             $lineNum = (int) $line['num'];
             if ($lineNum > 0) {
                 $srcFile->addCoverage($lineNum - 1, (int) $line['count']);
             }
         }
     }
     return $srcFile;
 }