void (int offset) { stopWatching(); tailWatcher = (RangeMarkerEx)getDocument().createRangeMarker(offset, offset); if (!tailWatcher.isValid()) { throw new AssertionError(getDocument() + "; offset=" + offset); } tailWatcher.setGreedyToRight(true); spy = new RangeMarkerSpy(this, tailWatcher); getDocument().addDocumentListener(spy); }