TextAttributesKey (@NotNull @NonNls String externalName, TextAttributes defaultAttributes, TextAttributesKey fallbackAttributeKey) { TextAttributesKey existing = ourRegistry.get(externalName); if (existing != null && (defaultAttributes == null || Comparing.equal(existing.myDefaultAttributes, defaultAttributes)) && (fallbackAttributeKey == null || Comparing.equal(existing.myFallbackAttributeKey, fallbackAttributeKey))) { return existing; } return ourRegistry.compute(externalName, (oldName, oldKey) -> mergeKeys(oldName, oldKey, defaultAttributes, fallbackAttributeKey)); }