public static void processChildrenRecursively(@Nullable MavenDomProjectModel model,
                                                @NotNull Processor<? super MavenDomProjectModel> processor,
                                                @NotNull Project project,
                                                @NotNull Set<? super MavenDomProjectModel> processedModels,
                                                boolean strict) {
    if (model != null && !processedModels.contains(model)) {
      processedModels.add(model);

      if (strict && processor.process(model)) return;

      MavenProject mavenProject = MavenDomUtil.findProject(model);
      if (mavenProject != null) {
        for (MavenProject childProject : MavenProjectsManager.getInstance(project).findInheritors(mavenProject)) {
          MavenDomProjectModel childProjectModel = MavenDomUtil.getMavenDomProjectModel(project, childProject.getFile());

          processChildrenRecursively(childProjectModel, processor, project, processedModels, true);
        }
      }
    }
  }
public static void processChildrenRecursively(@Nullable MavenDomProjectModel model,
                                                @NotNull Processor<? super MavenDomProjectModel> processor,
                                                @NotNull Project project,
                                                @NotNull Set<? super MavenDomProjectModel> processedModels,
                                                boolean strict)