code: private RLSupplier<Value> evaluate() {
  		/* check if is there something to evaluate */
          if (stackRPN.empty()) {
              return () -> new StringValue("");
          }
  
  		/* clean answer stack */
          stackAnswer.clear();
  
  		/* get the clone of the RPN stack for further evaluating */
          @SuppressWarnings("unchecked")
          Stack stackRPN = (Stack) this.stackRPN.clone();
  
  		/* evaluating the RPN expression */
          while (!stackRPN.empty()) {
              Object token = stackRPN.pop();
              if (token instanceof Value) {
                  stackAnswer.push( (RLSupplier) ()->token );
              } else if (token instanceof Operator) {
                  int arity = ((Operator) token).getArity();
                  if ( arity == 2 ) {
                      RLSupplier a = (RLSupplier) stackAnswer.pop();
                      RLSupplier b = (RLSupplier) stackAnswer.pop();
                      stackAnswer.push( ((Operator) token).getEval(a,b));
                  } else { // assume 1
                      RLSupplier a = (RLSupplier) stackAnswer.pop();
                      stackAnswer.push( ((Operator) token).getEval(a,null));
                  }
              } else if (token instanceof VarPath) {
                  VarPath vp = (VarPath) token;
                  stackAnswer.push( vp.getEval() );
              } else if (token instanceof FuncOperand) {
                  FuncOperand func = (FuncOperand) token;
                  RLSupplier<Value> args[] = new RLSupplier[func.getArity()];
                  for (int i = 0; i < args.length; i++) {
                      args[args.length-i-1] = ((RLSupplier<Value>)stackAnswer.pop());
                  }
                  stackAnswer.push(func.getEval(args));
              }
          }
  
          if (stackAnswer.size() > 1) {
              throw new QParseException("Some operator is missing");
          }
  
          return (RLSupplier<Value>) stackAnswer.pop();
      }
docs: Evaluates once parsed to a lambda term
  
  @return <code>String</code> representation of the result
  @throws <code>ParseException</code> if the input expression is not
  correct
  @since 3.0