@Override
 public void loadExtension(@NotNull JpsProject project, @NotNull Element componentTag) {
   JpsJavaProjectExtension extension = getService().getOrCreateProjectExtension(project);
   final Element output = componentTag.getChild(OUTPUT_TAG);
   if (output != null) {
     String url = output.getAttributeValue(URL_ATTRIBUTE);
     if (url != null) {
       extension.setOutputUrl(url);
     }
   }
   String languageLevel = componentTag.getAttributeValue(LANGUAGE_LEVEL_ATTRIBUTE);
   if (languageLevel != null) {
     extension.setLanguageLevel(LanguageLevel.valueOf(languageLevel));
   }
 }
    @Override
    public void saveExtension(@NotNull JpsProject project, @NotNull Element componentTag) {
      JpsJavaProjectExtension extension = getService().getProjectExtension(project);
      if (extension == null) return;

      String outputUrl = extension.getOutputUrl();
      if (outputUrl != null) {
        componentTag.addContent(new Element(OUTPUT_TAG).setAttribute(URL_ATTRIBUTE, outputUrl));
      }
      LanguageLevel level = extension.getLanguageLevel();
      componentTag.setAttribute(LANGUAGE_LEVEL_ATTRIBUTE, level.name());
      componentTag.setAttribute(
          "assert-keyword", Boolean.toString(level.compareTo(LanguageLevel.JDK_1_4) >= 0));
      componentTag.setAttribute(
          "jdk-15", Boolean.toString(level.compareTo(LanguageLevel.JDK_1_5) >= 0));
    }