public TextAttributes getDefaultAttributes() {
    TextAttributes defaultAttributes = myDefaultAttributes;
    if (defaultAttributes == null) {
      final TextAttributeKeyDefaultsProvider provider = ourDefaultsProvider.getValue();
      if (provider != null) {
        Set<String> called = CALLED_RECURSIVELY.get();
        if (!called.add(myExternalName)) return null;
        try {
          return ObjectUtils.notNull(provider.getDefaultAttributes(this), NULL_ATTRIBUTES);
        }
        finally {
          called.remove(myExternalName);
        }
      }
    }
    return defaultAttributes;
  }
public TextAttributes getDefaultAttributes()