void () { EditorImpl.assertIsDispatchThread(); ListIterator<CaretImpl> caretIterator = myCarets.listIterator(myCarets.size() - 1); while (caretIterator.hasPrevious()) { CaretImpl caret = caretIterator.previous(); synchronized (myCarets) { caretIterator.remove(); } fireCaretRemoved(caret); Disposer.dispose(caret); } }