void (@NotNull VirtualFile root, @NotNull GitFileAnnotation annotation) { VcsLogManager logManager = VcsProjectLog.getInstance(myProject).getLogManager(); if (logManager == null) return; VcsLogData dataManager = logManager.getDataManager(); IndexDataGetter getter = dataManager.getIndex().getDataGetter(); if (getter == null) return; Set<GitRevisionNumber> revisions = ContainerUtil.map2Set(annotation.getLines(), it -> it.getRevisionNumber()); for (GitRevisionNumber revision : revisions) { // non-null if info was already loaded by fast synchronous path in 'loadFileHistoryInBackground' if (annotation.getCommitMessage(revision) == null) { int commitIndex = dataManager.getCommitIndex(HashImpl.build(revision.asString()), root); String commitMessage = getter.getFullMessage(commitIndex); if (commitMessage != null) { annotation.setCommitMessage(revision, commitMessage); } } } }