@Override
  public void setTextAttributes(@Nullable TextAttributes textAttributes) {
    TextAttributes old = myForcedTextAttributes;
    if (old == textAttributes) return;

    myForcedTextAttributes = textAttributes;

    if (old == TextAttributes.ERASE_MARKER || textAttributes == TextAttributes.ERASE_MARKER ||
        old == null && myTextAttributesKey != null) {
      fireChanged(false, true, true);
    }
    else if (!Objects.equals(old, textAttributes)) {
      fireChanged(false, getFontStyle(old) != getFontStyle(textAttributes),
                  !Objects.equals(getForegroundColor(old), getForegroundColor(textAttributes)));
    }
  }
@Override
  public void setTextAttributes(@Nullable TextAttributes textAttributes)