}
protected final void completeToken(CompletionToken token) {
Document doc = target.getDocument();
token.complete(doc);
Interval interval = token.getInterval(doc);
int newCaretPosition = Math.min(interval.startsAt() + interval.length(), doc.getLength());
target.setCaretPosition(newCaretPosition);
if (grabFocusAfterCompletion) {
if (grabFocusDelay > 0) {
FocusUtils.changeFocusAcrossWindows(target, 100);
} else {