public static final function convertToArcanistChanges(array $changes)
 {
     assert_instances_of($changes, 'DiffusionPathChange');
     $direct = array();
     $result = array();
     foreach ($changes as $path) {
         $change = new ArcanistDiffChange();
         $change->setCurrentPath($path->getPath());
         $direct[] = $path->getPath();
         $change->setType($path->getChangeType());
         $file_type = $path->getFileType();
         if ($file_type == DifferentialChangeType::FILE_NORMAL) {
             $file_type = DifferentialChangeType::FILE_TEXT;
         }
         $change->setFileType($file_type);
         $change->setOldPath($path->getTargetPath());
         foreach ($path->getAwayPaths() as $away_path) {
             $change->addAwayPath($away_path);
         }
         $result[$path->getPath()] = $change;
     }
     return array_select_keys($result, $direct);
 }
 protected function markBinary(ArcanistDiffChange $change)
 {
     $change->setFileType(ArcanistDiffChangeType::FILE_BINARY);
     return $this;
 }