/** 
  * Parse coverage XML to regenerate the Coverage data array. 
  * 
  * @param $xml XML String or URL of the coverage data
  * @param $stream=false Is the input a stream?
  * @return 
  * @access protected
  */
 protected function parseCoverageXml(&$xml, $stream = false)
 {
     // Need to handle multiple xml files.
     if (!is_array($xml)) {
         $xml = array($xml);
     }
     for ($i = 0; $i < count($xml); $i++) {
         $xmlParser = new CoverageXmlParser();
         if ($stream) {
             $xmlParser->setInput($xml[$i]);
         } else {
             $xmlParser->setInputString($xml[$i]);
         }
         $xmlParser->parse();
         $data =& $xmlParser->getCoverageData();
         if (empty($this->coverageData)) {
             $this->coverageData = $data;
         } else {
             $data2 = array_merge_recursive($this->coverageData, $data);
             $this->coverageData = $data2;
         }
         $this->logger->debug("[RemoteCoverageRecorder::prepareCoverageXml()] " . "Coverage data intermediate: " . print_r($this->coverageData, true));
     }
 }
 /** 
  * Parse coverage XML to regenerate the Coverage data array. 
  * 
  * @param $xml XML String or URL of the coverage data
  * @param $stream=false Is the input a stream?
  * @return 
  * @access protected
  */
 protected function parseCoverageXml(&$xml, $stream = false)
 {
     $xmlParser = new CoverageXmlParser();
     if ($stream) {
         $xmlParser->setInput($xml);
     } else {
         $xmlParser->setInputString($xml);
     }
     $xmlParser->parse();
     $this->coverageData =& $xmlParser->getCoverageData();
 }