public void removeElements(@NotNull List<? extends ProjectStructureElement> elements) {
    for (ProjectStructureElement element : elements) {
      myElementWithNotCalculatedUsages.remove(element);
      myElementsToShowWarningIfUnused.remove(element);
      myWarningsAboutUnused.remove(element);
      myProblemHolders.remove(element);
      final Collection<ProjectStructureElementUsage> usages = mySourceElement2Usages.removeAll(element);
      if (usages != null) {
        for (ProjectStructureElementUsage usage : usages) {
          myProblemHolders.remove(usage.getContainingElement());
        }
      }
      removeUsagesInElement(element);
      myDispatcher.getMulticaster().problemsChanged(element);
    }
    myResultsUpdateQueue.queue(new ReportUnusedElementsUpdate());
  }
public void removeElements(@NotNull List<? extends ProjectStructureElement> elements)