@ApiStatus.Internal
  public void writeExternal(@NotNull Element element, @NotNull LanguageCodeStyleProvider provider) {
    CommonCodeStyleSettings defaultSettings = provider.getDefaultCommonSettings();
    Set<String> supportedFields = provider.getSupportedFields();
    if (supportedFields != null) {
      supportedFields.add("FORCE_REARRANGE_MODE");
    }
    else {
      return;
    }
    //noinspection deprecation
    DefaultJDOMExternalizer.write(this, element, new SupportedFieldsDiffFilter(this, supportedFields, defaultSettings));
    mySoftMargins.serializeInto(element);
    if (myIndentOptions != null) {
      IndentOptions defaultIndentOptions = defaultSettings.getIndentOptions();
      Element indentOptionsElement = new Element(INDENT_OPTIONS_TAG);
      myIndentOptions.serialize(indentOptionsElement, defaultIndentOptions);
      if (!indentOptionsElement.getChildren().isEmpty()) {
        element.addContent(indentOptionsElement);
      }
    }

    if (myArrangementSettings != null) {
      Element container = new Element(ARRANGEMENT_ELEMENT_NAME);
      ArrangementUtil.writeExternal(container, myArrangementSettings, provider.getLanguage());
      if (!container.getChildren().isEmpty()) {
        element.addContent(container);
      }
    }
  }
@ApiStatus.Internal
  public void writeExternal(@NotNull Element element, @NotNull LanguageCodeStyleProvider provider)