resolveDisplayText

protected open suspend override fun resolveDisplayText(value: Int): String?

Wołane raz na wartość, poza renderowaniem, a wynik zapisuje się w ControlState.displayText.

Nie ma tu cache'a i nie powinno być: jedna instancja kontrolki obsługuje wszystkie wiersze repeatable (patrz RepeatableControl.registerChildrenInGlobalMap), więc pole na instancji mieszałoby wiersze ze sobą. Właściwym cache'em jest stan kluczowany ścieżką.