private void checkForCycle(@NotNull TextAttributesKey fallbackAttributeKey) {
    for (TextAttributesKey key = fallbackAttributeKey; key != null; key = key.myFallbackAttributeKey) {
      if (equals(key)) {
        throw new IllegalArgumentException("Can't use this fallback key: " + fallbackAttributeKey + ":" +
          " Cycle detected: " + StringUtil.join(JBIterable.generate(myFallbackAttributeKey, o -> o == this ? null : o.myFallbackAttributeKey), "->"));
      }
    }
  }
private void checkForCycle(@NotNull TextAttributesKey fallbackAttributeKey)