boolean (RangeMarker marker) { CharSequence text = myDoc.getCharsSequence(); int lineEndOffset = marker.getStartOffset(); int start = StringUtil.skipWhitespaceBackward(text, lineEndOffset) - 1; int end = StringUtil.skipWhitespaceForward(text, lineEndOffset); int rc = CANNOT_JOIN; for (JoinLinesHandlerDelegate delegate : JoinLinesHandlerDelegate.EP_NAME.getExtensionList()) { rc = checkOffset(delegate.tryJoinLines(myDoc, myFile, start, end), delegate, myDoc); if (rc != CANNOT_JOIN) break; } if (rc != CANNOT_JOIN) { RangeMarker posMarker = myDoc.createRangeMarker(rc, rc); myManager.doPostponedOperationsAndUnblockDocument(myDoc); if (myCaretRestoreOffset == CANNOT_JOIN && posMarker.isValid()) { myCaretRestoreOffset = posMarker.getStartOffset(); } return true; } return false; }