public function merge(CoverageCollector $coverage)
 {
     $this->setData($coverage->getData());
     $this->setTests($coverage->getTests());
     $this->setWhitelistedFiles($coverage->getWhiteList());
     $this->setBlacklistedFiles($coverage->getBlackList());
 }
 public function main()
 {
     $this->loadPHPUnit();
     $collection = new CoverageCollector();
     foreach ($this->getFilenames() as $file) {
         $this->log("Merging {$file}");
         $coverage = null;
         $code = file_get_contents($file);
         $code = str_replace('PHP_CodeCoverage', 'CoverageCollector', $code);
         if (!empty($this->pattern)) {
             $code = preg_replace($this->pattern, $this->replace, $code);
         }
         eval('?>' . $code);
         $collection->merge($coverage);
     }
     $this->handleReports($collection->coverage());
 }