public  <E extends JpsElement> void loadComponents(@NotNull Path dir,
                                                     @NotNull Path defaultConfigFile,
                                                     JpsElementExtensionSerializerBase<E> serializer,
                                                     E element) {
    String fileName = serializer.getConfigFileName();
    Path configFile = fileName == null ? defaultConfigFile : dir.resolve(fileName);
    Runnable timingLog = TimingLog.startActivity("loading: " + configFile.getFileName() + ":" + serializer.getComponentName());
    Element componentTag = loadComponentData(serializer, configFile);
    if (componentTag != null) {
      serializer.loadExtension(element, componentTag);
    }
    else {
      serializer.loadExtensionWithDefaultSettings(element);
    }
    timingLog.run();
  }
public  <E extends JpsElement> void loadComponents(@NotNull Path dir,
                                                     @NotNull Path defaultConfigFile,
                                                     JpsElementExtensionSerializerBase<E> serializer,
                                                     E element)