void (@NotNull ModPsiNavigator updater, @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); updater.moveTo(Math.min(info.start(), info.end())); if (info.start() < info.end()) { //Not an empty body updater.select(TextRange.create(info.start(), info.end())); } else if (info.adjustLineIndent()) { Document document = firstMember.getContainingFile().getViewProvider().getDocument(); RangeMarker marker = document.createRangeMarker(info.start(), info.start()); PsiDocumentManager.getInstance(project).doPostponedOperationsAndUnblockDocument(document); if (marker.isValid()) { CodeStyleManager.getInstance(project).adjustLineIndent(document, marker.getStartOffset()); } } return; } } int offset = getOffsetInMethod(firstMember); updater.moveTo(offset); }