@NotNull
    public ResolveResult[] multiResolve(boolean incompleteCode) {
      Collection<PsiMethod> resMethods =
          StripesReferenceUtil.getResolutionMethodsAsList(actionBeanClass);
      ResolveResult[] retval = new ResolveResult[resMethods.size()];
      int i = 0;
      for (PsiMethod method : resMethods) {
        retval[i++] = new PsiElementResolveResult(method);
      }

      return retval;
    }
    @NotNull
    public PsiReference[] getReferencesByElement(
        @NotNull PsiElement element, @NotNull ProcessingContext context) {
      if (EVENT_NAME.equals(ElementManipulators.getValueText(element))) {
        return PsiReference.EMPTY_ARRAY;
      }

      XmlTag tag = (XmlTag) element.getParent().getParent();
      final PsiClass actionBeanPsiClass =
          StripesReferenceUtil.getBeanClassFromParentTag(tag, parentTagName);

      return actionBeanPsiClass == null
          ? PsiReference.EMPTY_ARRAY
          : new SetterReferenceExSet(element, 1, '.', actionBeanPsiClass, true).getPsiReferences();
    }
  @NotNull
  public PsiReference[] getReferencesByElement(
      @NotNull PsiElement element, @NotNull ProcessingContext context) {
    if (PsiTreeUtil.getChildOfType(element, ELExpressionHolder.class) != null) {
      return PsiReference.EMPTY_ARRAY;
    }

    final PsiClass actionBeanPsiClass =
        StripesReferenceUtil.getBeanClassFromParentTag(
            (XmlTag) element.getParent().getParent(), StripesConstants.FORM_TAG);
    return actionBeanPsiClass == null
        ? PsiReference.EMPTY_ARRAY
        : new PsiReference[] {
          new JspTagAttrResolutionMethodsReference((XmlAttributeValue) element, actionBeanPsiClass)
        };
  }