@Override
    public CodeBlock toProxy(CodeBlock expression) {
      return CodeBlock.of(
          "$L.entrySet().stream().collect($T.toImmutableMap($L, $L))",
          expression,
          ImmutableMap.class,
          generateKeyMapFunction(keyType, keyProxyType, keyTypeSerializer::toProxy),
          generateValueMapFunction(valueType, valueProxyType, valueTypeSerializer::toProxy));
    }
A {@link SerializerExtension} that deserializes objects inside an {@link ImmutableMap}.

<p>Enables unserializable objects inside an ImmutableMap to be serializable.
value/src/main/java/com/google/auto/value/extension/serializable/serializer/impl/ImmutableMapSerializerExtension.java