this.builder = builder;
}
@Override
public JsonElement serialize(ResultWithStrategy src, Type typeOfSrc, JsonSerializationContext context) {
ReturnDataStrategy strategy = src.getStrategy();
Map<Object, List<String>> serializationMap = strategy.buildSerializationMap(src.getResult());
for(Object o : serializationMap.keySet()) {
builder.registerTypeAdapter(o.getClass(), new ObjectAdapter(serializationMap));
}
return builder.create().toJsonTree(src.getResult());
}