srecord noeq ListCellRendererWithToolTip(IF1 makeToolTip, ListCellRenderer baseRenderer) is ListCellRenderer { public Component getListCellRendererComponent(JList list, A value, int index, bool isSelected, bool cellHasFocus) { var c = baseRenderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); if (c cast JComponent) pcall { c.setToolTipText(makeToolTip?.get((A) value)); } ret c; } }