// 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 dateDescriptorAsString = (dateDescriptor != null) ? dateDescriptor.toString() : null;

      return new ComicsQuery(formatAsString, formatTypeAsString, noVariants,
          dateDescriptorAsString, dataRangeAsString, title, titleStartsWith, startYear,
          issueNumber, diamondCode, digitalId, upc, isbn, ean, issn, hasDigitalIssue,
          modifiedSinceAsString, creatorsAsString, charactersAsString, seriesAsString,
          eventsAsString, storiesAsString, sharedAppearancesAsString, collaboratorsAsString,
          orderByAsString, 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 checkNotNull(Object object) {
      if (object == null) {
        throw new IllegalArgumentException("the argument 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/ComicsQuery.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 dateDescriptorAsString = (dateDescriptor != null) ? dateDescriptor.toString() : null;

      return new ComicsQuery(formatAsString, formatTypeAsString, noVariants,
          dateDescriptorAsString, dataRangeAsString, title, titleStartsWith, startYear,
          issueNumber, diamondCode, digitalId, upc, isbn, ean, issn, hasDigitalIssue,
          modifiedSinceAsString, creatorsAsString, charactersAsString, seriesAsString,
          eventsAsString, storiesAsString, sharedAppearancesAsString, collaboratorsAsString,
          orderByAsString, 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 checkNotNull(Object object) {
      if (object == null) {
        throw new IllegalArgumentException("the argument can not be null");
      }
    }

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