docs: void maybeWriteGwtSerializer(AutoValueTemplateVars autoVars) {
      if (shouldWriteGwtSerializer()) {
        GwtTemplateVars vars = new GwtTemplateVars();
        vars.pkg = autoVars.pkg;
        vars.subclass = autoVars.finalSubclass;
        vars.formalTypes = autoVars.formalTypes;
        vars.actualTypes = autoVars.actualTypes;
        vars.useBuilder = !autoVars.builderTypeName.isEmpty();
        vars.builderSetters = autoVars.builderSetters;
        vars.builderPropertyBuilders = autoVars.builderPropertyBuilders;
        vars.generated = autoVars.generated;
        String className =
            (vars.pkg.isEmpty() ? "" : vars.pkg + ".") + vars.subclass + "_CustomFieldSerializer";
        vars.serializerClass = TypeSimplifier.simpleNameOf(className);
        vars.props = autoVars.props.stream().map(Property::new).collect(toList());
        vars.classHashString = computeClassHash(autoVars.props, vars.pkg);
        String text = vars.toText();
        text = TypeEncoder.decode(text, processingEnv, vars.pkg, type.asType());
        writeSourceFile(className, text, type);
      }
    }