@Override
  public @NotNull String getText() {
    CachedText cachedText = myCachedText;

    if (cachedText == null || cachedText.modificationStamp() != getModificationStamp()) {
      myCachedText = cachedText = new CachedText(calcText(), getModificationStamp());
    }

    return cachedText.text();
  }
@Override
  public @NotNull String getText()