void (final PsiClass aClass, final PsiNewExpression newExpression) { final PsiJavaCodeReferenceElement classReference = newExpression.getClassReference(); if (classReference != null && aClass.isPhysical()) { classReference.bindToElement(aClass); } setupInheritance(newExpression, aClass); PsiExpressionList argList = newExpression.getArgumentList(); final Project project = aClass.getProject(); if (argList != null && !argList.isEmpty()) { TemplateBuilderImpl templateBuilder = createConstructorTemplate(aClass, newExpression, argList); if (aClass.isPhysical()) { getReferenceElement(newExpression).bindToElement(aClass); } CreateFromUsageBaseFix.startTemplate(project, aClass, templateBuilder.buildTemplate(), getText()); } else { CodeInsightUtil.positionCursor(project, aClass.getContainingFile(), ObjectUtils.notNull(aClass.getNameIdentifier(), aClass)); } }