private static void forEach(Project project, Processor<? super PsiAugmentProvider> processor) {
    for (PsiAugmentProvider provider : EP.getValue().getExtensionList()) {
      if (DumbService.getInstance(project).isUsableInCurrentContext(provider)) {
        try {
          boolean goOn = processor.process(provider);
          if (!goOn) break;
        }
        catch (ProcessCanceledException e) {
          throw e;
        }
        catch (Exception e) {
          Logger.getInstance(PsiAugmentProvider.class).error("provider: " + provider, e);
        }
      }
    }
  }
private static void forEach(Project project, Processor<? super PsiAugmentProvider> processor)