mw.visitMethodInsn(INVOKEVIRTUAL, ASMUtils.getType(PBSerializer.class), "getWriter",
"()" + ASMUtils.getDesc(SerializeWriter.class));
mw.visitVarInsn(ASTORE, context.var("out"));
mw.visitVarInsn(ALOAD, context.obj()); // obj
mw.visitTypeInsn(CHECKCAST, ASMUtils.getType(clazz)); // serializer
mw.visitVarInsn(ASTORE, context.var("entity")); // obj
generateWriteMethod(clazz, mw, getters, context);
mw.visitInsn(RETURN);