@Override
    String getQuery() {
        StringBuilder buffer = new StringBuilder();
        
        buffer.append("format=");
        buffer.append(format.name());
        
        if (markedVariables != null && markedVariables.length > 0) {
            buffer.append("&markedvariables=");
            buffer.append(Util.join(markedVariables, ","));
        }
        
        if (!Util.isNullOrEmpty(tempImageUrl)) {
            buffer.append("&tempimageurl=");
            buffer.append(tempImageUrl);
        }
        
        for (Entry<String,String> setting : settings.entrySet()) {
            buffer.append("&");
            buffer.append(setting.getKey());
            buffer.append("=");
            buffer.append(setting.getValue());
        }
        
        return buffer.toString();
    }