void (Block block, int line, boolean removeLineSpace, boolean removeBlockSpace) { Document document = block.editor.getDocument(); Commenter commenter = block.commenters[line - block.startLine]; if (commenter == null) commenter = findCommenter(block.editor, block.psiFile, line); if (commenter == null) return; final int startOffset = block.startOffsets[line - block.startLine]; final int endOffset = block.endOffsets[line - block.startLine]; if (startOffset == endOffset) { return; } if (commenter instanceof SelfManagingCommenter selfManagingCommenter) { selfManagingCommenter.uncommentLine(line, startOffset, document, block.commenterStateMap.get(selfManagingCommenter)); return; } RangeMarker marker = endOffset > startOffset ? block.editor.getDocument().createRangeMarker(startOffset, endOffset) : null; try { if (doUncommentLine(line, document, commenter, startOffset, endOffset, removeLineSpace, removeBlockSpace)) return; if (marker != null) { CommentByBlockCommentHandler.processDocument(document, marker, commenter, false); } } finally { if (marker != null) { marker.dispose(); } } }