void () { if (!myElementWithNotCalculatedUsages.isEmpty()) return; for (ProjectStructureElement element : myElementsToShowWarningIfUnused) { final ProjectStructureProblemDescription warning; final Collection<ProjectStructureElementUsage> usages = mySourceElement2Usages.get(element); if (usages == null || usages.isEmpty()) { warning = element.createUnusedElementWarning(); } else { warning = null; } final ProjectStructureProblemDescription old = myWarningsAboutUnused.put(element, warning); ProjectStructureProblemsHolderImpl holder = myProblemHolders.get(element); if (holder == null) { holder = new ProjectStructureProblemsHolderImpl(); myProblemHolders.put(element, holder); } if (old != null) { holder.removeProblem(old); } if (warning != null) { holder.registerProblem(warning); } if (old != null || warning != null) { myDispatcher.getMulticaster().problemsChanged(element); } } }