code: protected Object escape(Object value) {
          EscapeFunction function = ESCAPE_FUNCTION_MAP.get(this.type);
          return function != null ? function.escape(TagUtil.getRequest(this.pageContext), value) : CpnlElFunctions.text(toString(value));
      }
docs: the extension hook for the various types of encoding; must work with Object values to ensure
  that non String values can be used as is
  
  @param value the value (String) to encode
  @return the encoded String or an appropriate Object