code: @Nonnull
    public static Value evalTree(@Nonnull final ExpressionTree tree, @Nonnull final PreprocessorContext context) {
      final Expression exp = new Expression(context, tree);
      return exp.eval(context.getPreprocessingState());
    }
docs: Evaluate an expression tree
  
  @param tree    an expression tree, it must not be null
  @param context a preprocessor context to be used for expression operations
  @return the result as a Value object, it can't be null