class FuryRender implements Render {
    @Override
    public String renderAndReturn(Object data, Context ctx) throws Throwable {<FILL_FUNCTION_BODY>}

    @Override
    public void render(Object obj, Context ctx) throws Throwable {
        if (SerializationConfig.isOutputMeta()) {
            ctx.headerAdd("solon.serialization", "FuryRender");
        }

        ctx.contentType("application/fury");

        if (obj instanceof ModelAndView) {
            ctx.output(serializeDo(new LinkedHashMap((Map) obj)));
        } else {
            ctx.output(serializeDo(obj));
        }
    }

    private byte[] serializeDo(Object obj) throws Throwable {
        return FuryUtil.fury.serialize(obj);
    }
}

        byte[] bytes = null;
        if (data instanceof ModelAndView) {
            bytes = serializeDo(new LinkedHashMap((Map) data));
        } else {
            bytes = serializeDo(data);
        }

        return Base64.getEncoder().encodeToString(bytes);
    
<no_super_class>