code: public String evaluate(Matcher rule, Matcher cond, Resolver resolver) {
          StringBuffer buf = new StringBuffer();
          for (int i = 0; i < elements.length; i++) {
              buf.append(elements[i].evaluate(rule, cond, resolver));
          }
          return buf.toString();
      }
docs: Evaluate the substitution based on the context
  
  @param rule corresponding matched rule
  @param cond last matched condition
  @return