FileAnnotationLoader (@NotNull Project project, @Nullable AbstractVcs vcs, @Nullable final VirtualFile file) { if (vcs == null || file == null) return null; final AnnotationProvider annotationProvider = vcs.getAnnotationProvider(); if (annotationProvider == null) return null; FileStatus fileStatus = ChangeListManager.getInstance(project).getStatus(file); if (fileStatus == FileStatus.UNKNOWN || fileStatus == FileStatus.ADDED || fileStatus == FileStatus.IGNORED) { return null; } return new FileAnnotationLoader(vcs) { @Override public FileAnnotation compute() throws VcsException { return annotationProvider.annotate(file); } }; }