// Path: discovery-model/src/main/java/com/ticketmaster/discovery/model/Page.java
// @Getter
// @NoArgsConstructor
// public class Page<T> {
// 
//   @JsonProperty("_embedded")
//   private T embedded;
// 
//   @JsonProperty("_links")
//   private PageLinks links;
// 
//   @JsonProperty("page")
//   private PageInfo info;
// 
//   @Getter
//   @NoArgsConstructor
//   public static class PageLinks {
// 
//     private Link self;
//     private Link next;
//     @JsonProperty("prev")
//     private Link previous;
//   }
// 
//   @Getter
//   @NoArgsConstructor
//   public static class PageInfo {
// 
//     @JsonProperty("size")
//     private Integer pageSize;
//     private Integer totalElements;
//     private Integer totalPages;
//     @JsonProperty("number")
//     private Integer currentPage;
//   }
// 
//   @Getter
//   @NoArgsConstructor
//   public static class Link {
// 
//     private static final String TEMPLATE_PATTERN = "\\{(.*?)\\}";
// 
//     private String href;
//     private String rel;
//     private Boolean templated;
// 
//     public String getRelativeHref() {
//       if (templated != null && templated) {
//         return href.replaceAll(TEMPLATE_PATTERN, "");
//       } else {
//         return href;
//       }
//     }
//   }
// 
// }
// 
// Path: discovery-model/src/main/java/com/ticketmaster/discovery/model/Page.java
// @Getter
// @NoArgsConstructor
// public static class Link {
// 
//   private static final String TEMPLATE_PATTERN = "\\{(.*?)\\}";
// 
//   private String href;
//   private String rel;
//   private Boolean templated;
// 
//   public String getRelativeHref() {
//     if (templated != null && templated) {
//       return href.replaceAll(TEMPLATE_PATTERN, "");
//     } else {
//       return href;
//     }
//   }
// }
// 
// Path: discovery-model/src/main/java/com/ticketmaster/discovery/model/Page.java
// @Getter
// @NoArgsConstructor
// public static class PageInfo {
// 
//   @JsonProperty("size")
//   private Integer pageSize;
//   private Integer totalElements;
//   private Integer totalPages;
//   @JsonProperty("number")
//   private Integer currentPage;
// }


import java.io.IOException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ticketmaster.discovery.model.Page;
import com.ticketmaster.discovery.model.Page.Link;
import com.ticketmaster.discovery.model.Page.PageInfo;
package com.ticketmaster.api.discovery.response;



public class PagedResponse<T> extends Response<T> {

  private final JavaType javaType;
  private Page<T> page;

  public PagedResponse(okhttp3.Response httpResponse, ObjectMapper mapper, Class<T> type) {
    super(httpResponse, mapper, type);
// Path: discovery-model/src/main/java/com/ticketmaster/discovery/model/Page.java
// @Getter
// @NoArgsConstructor
// public class Page<T> {
// 
//   @JsonProperty("_embedded")
//   private T embedded;
// 
//   @JsonProperty("_links")
//   private PageLinks links;
// 
//   @JsonProperty("page")
//   private PageInfo info;
// 
//   @Getter
//   @NoArgsConstructor
//   public static class PageLinks {
// 
//     private Link self;
//     private Link next;
//     @JsonProperty("prev")
//     private Link previous;
//   }
// 
//   @Getter
//   @NoArgsConstructor
//   public static class PageInfo {
// 
//     @JsonProperty("size")
//     private Integer pageSize;
//     private Integer totalElements;
//     private Integer totalPages;
//     @JsonProperty("number")
//     private Integer currentPage;
//   }
// 
//   @Getter
//   @NoArgsConstructor
//   public static class Link {
// 
//     private static final String TEMPLATE_PATTERN = "\\{(.*?)\\}";
// 
//     private String href;
//     private String rel;
//     private Boolean templated;
// 
//     public String getRelativeHref() {
//       if (templated != null && templated) {
//         return href.replaceAll(TEMPLATE_PATTERN, "");
//       } else {
//         return href;
//       }
//     }
//   }
// 
// }
// 
// Path: discovery-model/src/main/java/com/ticketmaster/discovery/model/Page.java
// @Getter
// @NoArgsConstructor
// public static class Link {
// 
//   private static final String TEMPLATE_PATTERN = "\\{(.*?)\\}";
// 
//   private String href;
//   private String rel;
//   private Boolean templated;
// 
//   public String getRelativeHref() {
//     if (templated != null && templated) {
//       return href.replaceAll(TEMPLATE_PATTERN, "");
//     } else {
//       return href;
//     }
//   }
// }
// 
// Path: discovery-model/src/main/java/com/ticketmaster/discovery/model/Page.java
// @Getter
// @NoArgsConstructor
// public static class PageInfo {
// 
//   @JsonProperty("size")
//   private Integer pageSize;
//   private Integer totalElements;
//   private Integer totalPages;
//   @JsonProperty("number")
//   private Integer currentPage;
// }


// Path: discovery/src/main/java/com/ticketmaster/api/discovery/response/PagedResponse.java
import java.io.IOException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ticketmaster.discovery.model.Page;
import com.ticketmaster.discovery.model.Page.Link;
import com.ticketmaster.discovery.model.Page.PageInfo;

package com.ticketmaster.api.discovery.response;



public class PagedResponse<T> extends Response<T> {

  private final JavaType javaType;
  private Page<T> page;

  public PagedResponse(okhttp3.Response httpResponse, ObjectMapper mapper, Class<T> type) {
    super(httpResponse, mapper, type);
    this.javaType = mapper.getTypeFactory().constructParametricType(Page.class, type);