@Override
  public @Nullable TextAttributes getAttributes(TextAttributesKey key, boolean useDefaults) {
    if (key == null) return null;
    TextAttributes attrs = attributesMap.get(key.getExternalName());
    if (attrs != null) return attrs;

    TextAttributesKey fallbackKey = key.getFallbackAttributeKey();
    TextAttributes fallback = fallbackKey == null ? null : getFallbackAttributes(fallbackKey);
    if (fallback != null && fallback != AbstractColorsScheme.INHERITED_ATTRS_MARKER) return fallback;

    if (!useDefaults) return null;
    TextAttributes keyDefaults = getKeyDefaults(key);
    if (keyDefaults != null) return keyDefaults;
    return fallbackKey == null ? null : getKeyDefaults(fallbackKey);
  }
@Override
  public @Nullable TextAttributes getAttributes(TextAttributesKey key, boolean useDefaults)