static A setTextKeepCaret(fS text, final A c) {
if (c != null) swing {
int caret = c.getCaretPosition();
if (neq(c.getText(), text)) {
c.setText(text);
setCaretPosition(c, caret);
}
}
ret c;
}
static A setTextKeepCaret(A c, S text) {
ret setTextKeepCaret(text, c);
}