code: public ExpressionType getExpressionType() {
          try { //TODO: cache expression type ?
              final ExpressionType expressionType = node.firstChildAccept(new ExpressionTypeEvaluationVisitor(), null);
              return expressionType;
          } catch (IllegalArgumentException e) {
              throw new IllegalArgumentException("Please report this bug: Can not determine type of XPath:" + xpath, e);
          }
      }
docs: Calculates the return type of the expression.
  
  @return ExpressionType