// Path: library/src/main/java/org/mariotaku/restfu/http/MultiValueMap.java
// public final class MultiValueMap<V> extends MultiMap<String, V> {
// 
//     public MultiValueMap() {
//         this(new HashMap<String, List<V>>(), false);
//     }
// 
//     public MultiValueMap(Map<String, List<V>> map) {
//         this(map, false);
//     }
// 
//     public MultiValueMap(boolean ignoreCase) {
//         this(null, ignoreCase);
//     }
// 
//     public MultiValueMap(Map<String, List<V>> map, boolean ignoreCase) {
//         super(map, new StringEquatable(ignoreCase));
//     }
// 
//     private static class StringEquatable implements Equatable<String> {
//         private boolean ignoreCase;
// 
//         StringEquatable(boolean ignoreCase) {
//             this.ignoreCase = ignoreCase;
//         }
// 
//         @Override
//         public boolean equals(String s1, String s2) {
//             if (s1 == null || s2 == null) {
//                 //noinspection StringEquality
//                 return s1 == s2;
//             }
//             if (ignoreCase) {
//                 return s1.equalsIgnoreCase(s2);
//             }
//             return s1.equals(s2);
//         }
//     }
// }


import org.jetbrains.annotations.NotNull;
import org.mariotaku.restfu.http.MultiValueMap;
package org.mariotaku.restfu.http.mime;


/**
 * Created by mariotaku on 2017/4/19.
 */
public final class DefaultBodyConverter implements BodyConverter {
    @NotNull
    @Override
// Path: library/src/main/java/org/mariotaku/restfu/http/MultiValueMap.java
// public final class MultiValueMap<V> extends MultiMap<String, V> {
// 
//     public MultiValueMap() {
//         this(new HashMap<String, List<V>>(), false);
//     }
// 
//     public MultiValueMap(Map<String, List<V>> map) {
//         this(map, false);
//     }
// 
//     public MultiValueMap(boolean ignoreCase) {
//         this(null, ignoreCase);
//     }
// 
//     public MultiValueMap(Map<String, List<V>> map, boolean ignoreCase) {
//         super(map, new StringEquatable(ignoreCase));
//     }
// 
//     private static class StringEquatable implements Equatable<String> {
//         private boolean ignoreCase;
// 
//         StringEquatable(boolean ignoreCase) {
//             this.ignoreCase = ignoreCase;
//         }
// 
//         @Override
//         public boolean equals(String s1, String s2) {
//             if (s1 == null || s2 == null) {
//                 //noinspection StringEquality
//                 return s1 == s2;
//             }
//             if (ignoreCase) {
//                 return s1.equalsIgnoreCase(s2);
//             }
//             return s1.equals(s2);
//         }
//     }
// }


// Path: library/src/main/java/org/mariotaku/restfu/http/mime/DefaultBodyConverter.java
import org.jetbrains.annotations.NotNull;
import org.mariotaku.restfu.http.MultiValueMap;

package org.mariotaku.restfu.http.mime;


/**
 * Created by mariotaku on 2017/4/19.
 */
public final class DefaultBodyConverter implements BodyConverter {
    @NotNull
    @Override
    public Body convert(@NotNull MultiValueMap<Body> params, @NotNull String[] args) {