GrMethod (@NotNull GrClosableBlock block) { final GroovyPsiElementFactory factory = GroovyPsiElementFactory.getInstance(context.project); final GrMethod method = factory.createMethodFromText("def doCall(){}", block); GrReferenceAdjuster.shortenAllReferencesIn(method.setReturnType(context.typeProvider.getReturnType(block))); if (block.hasParametersSection()) { method.getParameterList().replace(block.getParameterList()); } else { final GrParameter[] allParameters = block.getAllParameters(); LOG.assertTrue(allParameters.length == 1); final GrParameter itParameter = allParameters[0]; final GrParameter parameter = factory.createParameter("it", itParameter.getType().getCanonicalText(), "null", block); method.getParameterList().add(parameter); } ((GroovyFileImpl)method.getContainingFile()).setContextNullable(null); return method; }