GrParameterInfo (GroovyIntroduceObjectClassDescriptor descriptor, GrMethod method, List<? extends GrParameterInfo> oldMethodParameters) { final GroovyPsiElementFactory elementFactory = GroovyPsiElementFactory.getInstance(method.getProject()); PsiType classType = elementFactory.createTypeByFQClassName(StringUtil.getQualifiedName(descriptor.getPackageName(), descriptor.getClassName())); return new GrParameterInfo(descriptor.getClassName(), null, null, classType, NEW_PARAMETER, false) { @Nullable @Override public PsiElement getActualValue(PsiElement callExpression, Object substitutor) { final IntroduceParameterObjectDelegate<PsiNamedElement, ParameterInfo, IntroduceParameterObjectClassDescriptor<PsiNamedElement, ParameterInfo>> delegate = findDelegate(callExpression); return delegate != null ? delegate.createNewParameterInitializerAtCallSite(callExpression, descriptor, oldMethodParameters, substitutor) : null; } }; }