private static @Nls String getMethodCandidateInfo(GrReferenceExpression expr) {
    final GroovyResolveResult[] candidates = expr.multiResolve(false);
    final String text = expr.getText();
    if (candidates.length > 0) {
      @NonNls final StringBuilder sb = new StringBuilder();
      for (final GroovyResolveResult candidate : candidates) {
        final PsiElement element = candidate.getElement();
        if (!(element instanceof PsiMethod)) {
          continue;
        }
        final String str = PsiFormatUtil
          .formatMethod((PsiMethod)element, candidate.getSubstitutor(),
                        PsiFormatUtilBase.SHOW_NAME | PsiFormatUtilBase.SHOW_TYPE | PsiFormatUtilBase.SHOW_PARAMETERS,
                        PsiFormatUtilBase.SHOW_TYPE);
        sb.append("&nbsp;&nbsp;");
        appendElementLink(sb, element, str);
        sb.append("<br>");
      }
      return CodeInsightBundle.message("javadoc.candidates", text, sb);
    }
    return JavaBundle.message("javadoc.candidates.not.found", text);
  }
private static @Nls String getMethodCandidateInfo(GrReferenceExpression expr)