public static List<GroovyMethodInfo> getInfos(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);
      }
    }
  }
public static List<GroovyMethodInfo> getInfos(PsiMethod method)