// Path: MarvelApiClient/src/main/java/com/karumi/marvelapiclient/utils/DateUtil.java
// public class DateUtil {
// 
//   private static final String DATE_PATTERN = "yyyy-MM-dd'T'HH:mm:ssZ";
// 
//   public static String parseDate(Date date) {
//     SimpleDateFormat format = new SimpleDateFormat(DATE_PATTERN);
//     return format.format(date);
//   }
// }


import com.karumi.marvelapiclient.utils.DateUtil;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
      String plainComics = convertToList(comics);
      String plainEvents = convertToList(events);
      String plainSeries = convertToList(series);
      String plainStories = convertToList(stories);
      String plainOrderBy = convertOrderBy(orderBy, orderByAscendant);

      return new CharactersQuery(name, nameStartWith, plainModifedSince, plainComics, plainSeries,
          plainEvents, plainStories, plainOrderBy, limit, offset);
    }

    private void checkLimit(int limit) {
      if (limit <= 0) {
        throw new IllegalArgumentException("limit must be bigger than zero");
      }

      if (limit > MAX_SIZE) {
        throw new IllegalArgumentException("limit must be smaller than 100");
      }
    }

    private void checkNull(List<Integer> list) {
      if (list == null) {
        throw new IllegalArgumentException("the collection can not be null");
      }
    }

    private String convertDate(Date date) {
      if (date == null) {
        return null;
      }
// Path: MarvelApiClient/src/main/java/com/karumi/marvelapiclient/utils/DateUtil.java
// public class DateUtil {
// 
//   private static final String DATE_PATTERN = "yyyy-MM-dd'T'HH:mm:ssZ";
// 
//   public static String parseDate(Date date) {
//     SimpleDateFormat format = new SimpleDateFormat(DATE_PATTERN);
//     return format.format(date);
//   }
// }


// Path: MarvelApiClient/src/main/java/com/karumi/marvelapiclient/model/CharactersQuery.java
import com.karumi.marvelapiclient.utils.DateUtil;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

      String plainComics = convertToList(comics);
      String plainEvents = convertToList(events);
      String plainSeries = convertToList(series);
      String plainStories = convertToList(stories);
      String plainOrderBy = convertOrderBy(orderBy, orderByAscendant);

      return new CharactersQuery(name, nameStartWith, plainModifedSince, plainComics, plainSeries,
          plainEvents, plainStories, plainOrderBy, limit, offset);
    }

    private void checkLimit(int limit) {
      if (limit <= 0) {
        throw new IllegalArgumentException("limit must be bigger than zero");
      }

      if (limit > MAX_SIZE) {
        throw new IllegalArgumentException("limit must be smaller than 100");
      }
    }

    private void checkNull(List<Integer> list) {
      if (list == null) {
        throw new IllegalArgumentException("the collection can not be null");
      }
    }

    private String convertDate(Date date) {
      if (date == null) {
        return null;
      }
      return DateUtil.parseDate(date);