/**
  * @param array $files
  * @param array $type
  * @return CallbackFilterIterator 
  */
 public function filterByType($files, array $type)
 {
     $filesObject = new \ArrayObject($files);
     $fileOperator = $this->filelib->getFileOperator();
     $filteredFiles = array();
     if (version_compare(phpversion(), '5.4.0') >= 0) {
         $filteredFiles = new \CallbackFilterIterator($filesObject->getIterator(), function ($current, $key) use($type, $fileOperator) {
             return in_array($fileOperator->getType($current), $type);
         });
     } else {
         $filteredFiles = new XiCallbackFilterIterator($filesObject->getIterator(), function ($current, $key) use($type, $fileOperator) {
             return in_array($fileOperator->getType($current), $type);
         });
     }
     return $filteredFiles;
 }