// Path: xmlrpc/src/main/java/nl/nl2312/xmlrpc/deserialization/ArrayDeserializer.java
// public interface ArrayDeserializer<T> {
// 
//     T deserialize(ArrayValues values);
// 
// }
// 
// Path: xmlrpc/src/main/java/nl/nl2312/xmlrpc/deserialization/DeserializationContext.java
// public final class DeserializationContext {
// 
//     private final Map<Class<?>, StructDeserializer<?>> structDeserializers = new HashMap<>();
//     private final Map<Class<?>, ArrayDeserializer<?>> arrayDeserializers = new HashMap<>();
// 
//     public boolean hasStructDeserializer(Class<?> type) {
//         return structDeserializers.containsKey(type);
//     }
// 
//     public <T> void addStructDeserializer(Class<T> clazz, StructDeserializer<T> structDeserializer) {
//         structDeserializers.put(clazz, structDeserializer);
//     }
// 
//     @SuppressWarnings("unchecked") // Type parity between map key and deserializer is enforced during addition
//     public <T> StructDeserializer<T> structDeserializer(Class<T> type) {
//         return (StructDeserializer<T>) structDeserializers.get(type);
//     }
// 
//     public boolean hasArrayDeserializer(Class<?> type) {
//         return arrayDeserializers.containsKey(type);
//     }
// 
//     public <T> void addArrayDeserializer(Class<T> clazz, ArrayDeserializer<T> arrayDeserializer) {
//         arrayDeserializers.put(clazz, arrayDeserializer);
//     }
// 
//     @SuppressWarnings("unchecked") // Type parity between map key and deserializer is enforced during addition
//     public <T> ArrayDeserializer<T> arrayDeserializer(Class<T> type) {
//         return (ArrayDeserializer<T>) arrayDeserializers.get(type);
//     }
// 
// }
// 
// Path: xmlrpc/src/main/java/nl/nl2312/xmlrpc/deserialization/SimplefiedTreeStrategy.java
// public class SimplefiedTreeStrategy extends TreeStrategy {
// 
//     @Override
//     public boolean write(Type type, Object value, NodeMap node, Map map) {
//         return false;
//     }
// 
// }
// 
// Path: xmlrpc/src/main/java/nl/nl2312/xmlrpc/deserialization/StructDeserializer.java
// public interface StructDeserializer<T> {
// 
//     T deserialize(StructMembers members);
// 
// }


import nl.nl2312.xmlrpc.deserialization.ArrayDeserializer;
import nl.nl2312.xmlrpc.deserialization.DeserializationContext;
import nl.nl2312.xmlrpc.deserialization.SimplefiedTreeStrategy;
import nl.nl2312.xmlrpc.deserialization.StructDeserializer;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.convert.AnnotationStrategy;
import org.simpleframework.xml.core.Persister;
import org.simpleframework.xml.strategy.TreeStrategy;
import retrofit2.Converter;
import retrofit2.Retrofit;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
package nl.nl2312.xmlrpc;



public final class XmlRpcConverterFactory extends Converter.Factory {

    private final Serializer serializer;
// Path: xmlrpc/src/main/java/nl/nl2312/xmlrpc/deserialization/ArrayDeserializer.java
// public interface ArrayDeserializer<T> {
// 
//     T deserialize(ArrayValues values);
// 
// }
// 
// Path: xmlrpc/src/main/java/nl/nl2312/xmlrpc/deserialization/DeserializationContext.java
// public final class DeserializationContext {
// 
//     private final Map<Class<?>, StructDeserializer<?>> structDeserializers = new HashMap<>();
//     private final Map<Class<?>, ArrayDeserializer<?>> arrayDeserializers = new HashMap<>();
// 
//     public boolean hasStructDeserializer(Class<?> type) {
//         return structDeserializers.containsKey(type);
//     }
// 
//     public <T> void addStructDeserializer(Class<T> clazz, StructDeserializer<T> structDeserializer) {
//         structDeserializers.put(clazz, structDeserializer);
//     }
// 
//     @SuppressWarnings("unchecked") // Type parity between map key and deserializer is enforced during addition
//     public <T> StructDeserializer<T> structDeserializer(Class<T> type) {
//         return (StructDeserializer<T>) structDeserializers.get(type);
//     }
// 
//     public boolean hasArrayDeserializer(Class<?> type) {
//         return arrayDeserializers.containsKey(type);
//     }
// 
//     public <T> void addArrayDeserializer(Class<T> clazz, ArrayDeserializer<T> arrayDeserializer) {
//         arrayDeserializers.put(clazz, arrayDeserializer);
//     }
// 
//     @SuppressWarnings("unchecked") // Type parity between map key and deserializer is enforced during addition
//     public <T> ArrayDeserializer<T> arrayDeserializer(Class<T> type) {
//         return (ArrayDeserializer<T>) arrayDeserializers.get(type);
//     }
// 
// }
// 
// Path: xmlrpc/src/main/java/nl/nl2312/xmlrpc/deserialization/SimplefiedTreeStrategy.java
// public class SimplefiedTreeStrategy extends TreeStrategy {
// 
//     @Override
//     public boolean write(Type type, Object value, NodeMap node, Map map) {
//         return false;
//     }
// 
// }
// 
// Path: xmlrpc/src/main/java/nl/nl2312/xmlrpc/deserialization/StructDeserializer.java
// public interface StructDeserializer<T> {
// 
//     T deserialize(StructMembers members);
// 
// }


// Path: xmlrpc/src/main/java/nl/nl2312/xmlrpc/XmlRpcConverterFactory.java
import nl.nl2312.xmlrpc.deserialization.ArrayDeserializer;
import nl.nl2312.xmlrpc.deserialization.DeserializationContext;
import nl.nl2312.xmlrpc.deserialization.SimplefiedTreeStrategy;
import nl.nl2312.xmlrpc.deserialization.StructDeserializer;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.convert.AnnotationStrategy;
import org.simpleframework.xml.core.Persister;
import org.simpleframework.xml.strategy.TreeStrategy;
import retrofit2.Converter;
import retrofit2.Retrofit;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;

package nl.nl2312.xmlrpc;



public final class XmlRpcConverterFactory extends Converter.Factory {

    private final Serializer serializer;
    private final DeserializationContext context;