    public boolean render(final InternalContextAdapter cxt, final Writer writer, final Node node)
            throws IOException, ResourceNotFoundException, ParseErrorException, MethodInvocationException {
        if (node.jjtGetNumChildren() != 0) {
            LOG.error(MessageFormat.format(
                    ERR_MISSING_ARG, getName(), cxt.getCurrentTemplateName(), node.getLine(), node.getColumn()));
            return false;
        }
        for(Map.Entry<String,StringDataObject> entry : getDataModel(cxt).getParameters().getValues().entrySet()){
            final String key = entry.getKey();
            if(getDataModel(cxt).getParameters().getValues().containsKey(key + "-isUrl")){
                final String value = entry.getValue().getUtf8UrlEncoded();
                writer.append(key + '=' + value + '&');
            }
        }
        return true;
    }

    public boolean render(final InternalContextAdapter cxt, final Writer writer, final Node node)
            throws IOException, ResourceNotFoundException, ParseErrorException, MethodInvocationException {
        if (node.jjtGetNumChildren() != 0) {
            LOG.error(MessageFormat.format(
                    ERR_MISSING_ARG, getName(), cxt.getCurrentTemplateName(), node.getLine(), node.getColumn()));
            return false;
        }
        for(Map.Entry<String,StringDataObject> entry : getDataModel(cxt).getParameters().getValues().entrySet()){
            final String key = entry.getKey();
            if(getDataModel(cxt).getParameters().getValues().containsKey(key + "-isUrl")){
                final String value = entry.getValue().getUtf8UrlEncoded();
                writer.append(key + '=' + value + '&amp;');
            }
        }
        return true;
    }
