void (@NotNull Editor editor, @NotNull PsiElement firstMember, boolean toEditMethodBody) { LOG.assertTrue(firstMember.isValid()); Project project = firstMember.getProject(); if (toEditMethodBody) { PsiMethod method = (PsiMethod)firstMember; PsiCodeBlock body = method.getBody(); if (body != null) { PositionInfo info = getPositionInfo(body); int start = info.start(); int end = info.end(); boolean adjustLineIndent = info.adjustLineIndent(); editor.getCaretModel().moveToOffset(Math.min(start, end)); editor.getScrollingModel().scrollToCaret(ScrollType.RELATIVE); if (start < end) { //Not an empty body editor.getSelectionModel().setSelection(start, end); } else if (adjustLineIndent) { Document document = editor.getDocument(); RangeMarker marker = document.createRangeMarker(start, start); PsiDocumentManager.getInstance(project).doPostponedOperationsAndUnblockDocument(document); if (marker.isValid()) { CodeStyleManager.getInstance(project).adjustLineIndent(document, marker.getStartOffset()); } } return; } } int offset = getOffsetInMethod(firstMember); editor.getCaretModel().moveToOffset(offset); editor.getScrollingModel().scrollToCaret(ScrollType.RELATIVE); editor.getSelectionModel().removeSelection(); }