List<GroovyMethodInfo> (PsiMethod method) { ensureInit(); List<GroovyMethodInfo> lightMethodInfos = null; Object methodKind = GrLightMethodBuilder.getMethodKind(method); if (methodKind instanceof String) { lightMethodInfos = getInfos(LIGHT_METHOD_INFOS, (String)methodKind, method); } if (method instanceof PsiMirrorElement) { PsiElement prototype = ((PsiMirrorElement)method).getPrototype(); if (prototype instanceof PsiMethod) { method = (PsiMethod)prototype; } } List<GroovyMethodInfo> methodInfos = null; PsiClass containingClass = method.getContainingClass(); if (containingClass != null) { methodInfos = getInfos(METHOD_INFOS, containingClass.getQualifiedName(), method); } if (methodInfos == null) { return lightMethodInfos == null ? Collections.emptyList() : lightMethodInfos; } else { if (lightMethodInfos == null) { return methodInfos; } else { return ContainerUtil.concat(lightMethodInfos, methodInfos); } } }