@Contract("_, null -> !null")
  public static @Nullable Boolean isRainbowEnabled(@Nullable TextAttributesScheme colorsScheme, @Nullable Language language) {
    if (colorsScheme instanceof SchemeMetaInfo) {
      do {
        String value = ((SchemeMetaInfo)colorsScheme).getMetaProperties().getProperty(getKey(language), INHERITED);
        if (String.valueOf(true).equals(value)) return Boolean.TRUE;
        if (String.valueOf(false).equals(value)) return Boolean.FALSE;
        if (language == null) return DEFAULT_RAINBOW_ON;
        language = language.getBaseLanguage();
      }
      while (language != null);
      return null;
    }
    return false;
  }
@Contract("_, null -> !null")
  public static @Nullable Boolean isRainbowEnabled(@Nullable TextAttributesScheme colorsScheme, @Nullable Language language)