}
@Nullable
public LineMarkerInfo<?> getLineMarkerInfo(final PsiElement psiElement) {
final FindBugsPlugin pluginComponent = IdeaUtilImpl.getPluginComponent(psiElement.getProject());
if (! pluginComponent.getPreferences().isAnnotationGutterIconEnabled()) {
return null;
}
if(!_isRegistered) {
EventManagerImpl.getInstance().addEventListener(new BugReporterEventFilter(psiElement.getProject().getName()), this);
_isRegistered = true;
}
if(_analysisRunning) {
return null;
}
final PsiFile psiFile = IdeaUtilImpl.getPsiFile(psiElement);
_problemCache = pluginComponent.getProblems();
if (_problemCache.containsKey(psiFile)) {
final List<ExtendedProblemDescriptor> matchingDescriptors = new ArrayList<ExtendedProblemDescriptor>();
final List<ExtendedProblemDescriptor> problemDescriptors = _problemCache.get(psiFile);
if (problemDescriptors == null) {