@Override
  public void loadClasspath(@NotNull JpsModule module,
                            @Nullable String classpathDir,
                            @NotNull String baseModulePath,
                            JpsMacroExpander expander,
                            List<String> paths,
                            JpsSdkType<?> projectSdkType) {
    final JpsDependenciesList dependenciesList = module.getDependenciesList();
    dependenciesList.clear();
    try {
      if (classpathDir == null) classpathDir = baseModulePath;
      final File classpathFile = new File(classpathDir, EclipseXml.DOT_CLASSPATH_EXT);
      if (!classpathFile.exists()) return; //no classpath file - no compilation

      final String eml = module.getName() + EclipseXml.IDEA_SETTINGS_POSTFIX;
      final File emlFile = new File(baseModulePath, eml);
      final Map<String, String> levels = new HashMap<>();
      final JpsIdeaSpecificSettings settings;
      final Element root;
      if (emlFile.isFile()) {
        root = JDOMUtil.load(emlFile);
        settings = new JpsIdeaSpecificSettings(expander);
        settings.initLevels(root, module, levels);
      } else {
        settings = null;
        root = null;
      }

      final JpsEclipseClasspathReader reader = new JpsEclipseClasspathReader(classpathDir, paths, new HashSet<>(), levels);
      reader.readClasspath(module, null, JDOMUtil.load(classpathFile), expander);//todo
      if (settings != null) {
        settings.updateEntries(root, module, projectSdkType);
      }
    }
    catch (Exception e) {
      LOG.info(e);
      throw new RuntimeException(e);
    }
  }
@Override
  public void loadClasspath(@NotNull JpsModule module,
                            @Nullable String classpathDir,
                            @NotNull String baseModulePath,
                            JpsMacroExpander expander,
                            List<String> paths,
                            JpsSdkType<?> projectSdkType)