PsiType (@NotNull GrFunctionalExpression expression, int index) { if (!GroovyConfigUtils.getInstance().isVersionAtLeast(expression, GroovyConfigUtils.GROOVY2_3)) return null; final GrParameter[] parameters = expression.getAllParameters(); if (containsParametersWithDeclaredType(parameters)) { return null; } List<PsiType[]> fittingSignatures = findFittingSignatures(expression); if (fittingSignatures.size() == 1) { PsiType[] expectedSignature = fittingSignatures.get(0); return expectedSignature[index]; } return null; }