VirtualFile (VcsFileRevision revision) { if (!myRevisionToVirtualFile.containsKey(revision)) { FilePath filePath = (revision instanceof VcsFileRevisionEx ? ((VcsFileRevisionEx)revision).getPath() : myFilePath); myRevisionToVirtualFile.put(revision, filePath.isDirectory() ? new VcsVirtualFolder(filePath.getPath(), null, VcsFileSystem.getInstance()) : new VcsVirtualFile(filePath.getPath(), revision, VcsFileSystem.getInstance())); } return myRevisionToVirtualFile.get(revision); }