private MethodSpec constructor() {
      MethodSpec.Builder constructor = MethodSpec.constructorBuilder();

      for (PropertyMirror propertyMirror : propertyMirrors) {
        Serializer serializer =
            serializersMap.get(MoreTypes.equivalence().wrap(propertyMirror.getType()));
        String name = propertyMirror.getName();

        constructor.addParameter(TypeName.get(propertyMirror.getType()), name);
        constructor.addStatement(
            CodeBlock.of("this.$L = $L", name, serializer.toProxy(CodeBlock.of(name))));
      }

      return constructor.build();
    }
Creates a constructor that converts the AutoValue's properties to serializable values.
value/src/main/java/com/google/auto/value/extension/serializable/processor/SerializableAutoValueExtension.java