void (@NotNull String path, @NotNull AbstractVcs vcs) { // does not support if (vcs.getDiffProvider() == null) return; final VirtualFile root = getVcsRootFor(myProject, getFilePath(path, false)); if (root == null) return; final VcsRoot vcsRoot = new VcsRoot(vcs, root); synchronized (myLock) { final Pair<VcsRoot, VcsRevisionNumber> value = myData.get(path); if (value == null) { final LazyRefreshingSelfQueue<String> queue = getQueue(vcsRoot); myData.put(path, Pair.create(vcsRoot, NOT_LOADED)); queue.addRequest(path); } else if (!value.getFirst().equals(vcsRoot)) { switchVcs(value.getFirst(), vcsRoot, path); } } }