@Override
  public void apply(@NotNull EditorSchemeAttributeDescriptor attributeDescriptor, EditorColorsScheme scheme) {
    if (!(attributeDescriptor instanceof RainbowAttributeDescriptor descriptor)) return;

    boolean isDefaultLanguage = descriptor.getLanguage() == null;
    RainbowHighlighter.setRainbowEnabled(scheme,
                                         descriptor.getLanguage(),
                                         isDefaultLanguage ? Boolean.valueOf(myRainbow.isSelected())
                                                           : myInheritAttributesBox.isSelected() ? null
                                                                                                 : Boolean.valueOf(myRainbow.isSelected()));

    for (int i = 0; i < myStops.length; ++i) {
      scheme.setAttributes(RainbowHighlighter.RAINBOW_COLOR_KEYS[i], RainbowHighlighter.createRainbowAttribute(myStops[i].getSelectedColor()));
    }
    descriptor.apply(scheme);
  }
@Override
  public void apply(@NotNull EditorSchemeAttributeDescriptor attributeDescriptor, EditorColorsScheme scheme)