public static function newFromConduit(array $dicts)
 {
     $results = array();
     foreach ($dicts as $dict) {
         $commit = PhabricatorRepositoryCommit::newFromDictionary($dict['commit']);
         $commit_data = PhabricatorRepositoryCommitData::newFromDictionary($dict['commitData']);
         $results[] = id(new DiffusionPathChange())->setPath($dict['path'])->setCommitIdentifier($dict['commitIdentifier'])->setCommit($commit)->setCommitData($commit_data)->setFileType($dict['fileType'])->setChangeType($dict['changeType'])->setTargetPath($dict['targetPath'])->setTargetCommitIdentifier($dict['targetCommitIdentifier'])->setAwayPaths($dict['awayPaths']);
     }
     return $results;
 }
 public static function newFromDictionary(array $dict)
 {
     $path = id(new DiffusionRepositoryPath())->setFullPath($dict['fullPath'])->setPath($dict['path'])->setHash($dict['hash'])->setFileType($dict['fileType'])->setFileSize($dict['fileSize'])->setExternalURI($dict['externalURI']);
     if ($dict['lastModifiedCommit']) {
         $last_modified_commit = PhabricatorRepositoryCommit::newFromDictionary($dict['lastModifiedCommit']);
         $path->setLastModifiedCommit($last_modified_commit);
     }
     if ($dict['lastCommitData']) {
         $last_commit_data = PhabricatorRepositoryCommitData::newFromDictionary($dict['lastCommitData']);
         $path->setLastCommitData($last_commit_data);
     }
     return $path;
 }