boolean () { List<? extends Editor> editors = getEditors(); if (myCaretPosition == null || myCaretPosition.length != editors.size()) return false; doMoveCaretsToPositions(myCaretPosition, editors); try { disableSyncScroll(true); if (myEditorsPosition != null && myEditorsPosition.isSame(myCaretPosition)) { doScrollToVisiblePositions(myEditorsPosition, editors); } else { doScrollToCaret(editors); } } finally { disableSyncScroll(false); } return true; }