Runnable (PsiAnonymousClass parent, final Editor editor, final PsiFile file, final Project project) { try { CodeStyleManager.getInstance(project).reformat(parent); } catch (IncorrectOperationException e) { LOG.error(e); } int offset = parent.getTextRange().getEndOffset() - 1; editor.getCaretModel().moveToOffset(offset); editor.getScrollingModel().scrollToCaret(ScrollType.RELATIVE); editor.getSelectionModel().removeSelection(); final PsiReferenceParameterList parameterList = parent.getBaseClassReference().getParameterList(); final PsiTypeElement[] parameters = parameterList != null ? parameterList.getTypeParameterElements() : null; final PsiElement newExpr = parent.getParent(); if (newExpr != null && PsiTypesUtil.getExpectedTypeByParent(newExpr) == null && shouldStartTypeTemplate(parameters)) { startTemplate(parent, editor, createOverrideRunnable(editor, file, project), parameters); return null; } return createOverrideRunnable(editor, file, project); }