@Override
  public boolean value(PsiElement element) {
return !(element instanceof GroovyPsiElement || element.getLanguage() == GroovyLanguage.INSTANCE);
/*    final ASTNode node = element.getNode();
    if (node == null) return false;

    final IElementType type = node.getElementType();
    if (type == mIDENT ||
        type == mSTRING_LITERAL ||
        type == mGSTRING_LITERAL ||
        type == mGSTRING_CONTENT ||
        type == mREGEX_LITERAL ||
        type == mDOLLAR_SLASH_REGEX_LITERAL ||
        type == mGDOC_COMMENT_DATA ||
        type == mGDOC_TAG_NAME ||
        type == mGDOC_TAG_PLAIN_VALUE_TOKEN ||
        type == mGDOC_TAG_VALUE_TOKEN ||
        type == mREGEX_BEGIN ||
        type == mREGEX_CONTENT ||
        type == mREGEX_END ||
        type == mDOLLAR_SLASH_REGEX_BEGIN ||
        type == mDOLLAR_SLASH_REGEX_CONTENT ||
        type == mDOLLAR_SLASH_REGEX_END) {
      return true;
    }

    return !(element instanceof GrCodeBlock) &&
           !(element instanceof GrListOrMap) &&
           !(element instanceof GrParameterList) &&
           !(element instanceof GrArgumentList) &&
           !(type == mDOLLAR)

      ;*/
  }
@Override
  public boolean value(PsiElement element)