// Path: library/src/main/java/rxreddit/model/ListingResponse.java
// public class ListingResponse {
// 
//     @SerializedName("kind")
//     String kind;
//     @SerializedName("data")
//     ListingResponseData data;
// 
//     public ListingResponse() {
//     }
// 
//     public ListingResponse(List<Listing> messageList) {
//         data = new ListingResponseData(messageList);
//     }
// 
//     public String getKind() {
//         return kind;
//     }
// 
//     public void setKind(String kind) {
//         this.kind = kind;
//     }
// 
//     public ListingResponseData getData() {
//         return data;
//     }
// 
//     public void setData(ListingResponseData data) {
//         this.data = data;
//     }
// }
// 
// Path: library/src/main/java/rxreddit/model/ListingResponseData.java
// @SuppressWarnings("unused")
// public class ListingResponseData {
// 
//     @SerializedName("children")
//     List<Listing> children;
//     @SerializedName("after")
//     String after;
//     @SerializedName("before")
//     String before;
//     @SerializedName("modhash")
//     String modhash;
// 
//     public ListingResponseData() {
//     }
// 
//     public ListingResponseData(List<Listing> messageList) {
//         children = messageList;
//     }
// 
//     public String getModhash() {
//         return modhash;
//     }
// 
//     public List<Listing> getChildren() {
//         return children;
//     }
// 
//     public String getAfter() {
//         return after;
//     }
// 
//     public String getBefore() {
//         return before;
//     }
// }


import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import java.lang.reflect.Type;
import rxreddit.model.ListingResponse;
import rxreddit.model.ListingResponseData;
package rxreddit.api;




/**
 * Handles the special case for the replies node in a Comment object
 * where there are no replies and the json is ""
 */
final class ListingResponseDeserializer implements JsonDeserializer<ListingResponse> {

    @Override
    public ListingResponse deserialize(
            JsonElement json, Type typeOfT, JsonDeserializationContext context)
            throws JsonParseException {
        // If no object is returned, return null
        if (json.isJsonPrimitive()) {
            return null;
        }

        JsonObject obj = json.getAsJsonObject();
        String kind = obj.get("kind").getAsString();
// Path: library/src/main/java/rxreddit/model/ListingResponse.java
// public class ListingResponse {
// 
//     @SerializedName("kind")
//     String kind;
//     @SerializedName("data")
//     ListingResponseData data;
// 
//     public ListingResponse() {
//     }
// 
//     public ListingResponse(List<Listing> messageList) {
//         data = new ListingResponseData(messageList);
//     }
// 
//     public String getKind() {
//         return kind;
//     }
// 
//     public void setKind(String kind) {
//         this.kind = kind;
//     }
// 
//     public ListingResponseData getData() {
//         return data;
//     }
// 
//     public void setData(ListingResponseData data) {
//         this.data = data;
//     }
// }
// 
// Path: library/src/main/java/rxreddit/model/ListingResponseData.java
// @SuppressWarnings("unused")
// public class ListingResponseData {
// 
//     @SerializedName("children")
//     List<Listing> children;
//     @SerializedName("after")
//     String after;
//     @SerializedName("before")
//     String before;
//     @SerializedName("modhash")
//     String modhash;
// 
//     public ListingResponseData() {
//     }
// 
//     public ListingResponseData(List<Listing> messageList) {
//         children = messageList;
//     }
// 
//     public String getModhash() {
//         return modhash;
//     }
// 
//     public List<Listing> getChildren() {
//         return children;
//     }
// 
//     public String getAfter() {
//         return after;
//     }
// 
//     public String getBefore() {
//         return before;
//     }
// }


// Path: library/src/main/java/rxreddit/api/ListingResponseDeserializer.java
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import java.lang.reflect.Type;
import rxreddit.model.ListingResponse;
import rxreddit.model.ListingResponseData;

package rxreddit.api;




/**
 * Handles the special case for the replies node in a Comment object
 * where there are no replies and the json is ""
 */
final class ListingResponseDeserializer implements JsonDeserializer<ListingResponse> {

    @Override
    public ListingResponse deserialize(
            JsonElement json, Type typeOfT, JsonDeserializationContext context)
            throws JsonParseException {
        // If no object is returned, return null
        if (json.isJsonPrimitive()) {
            return null;
        }

        JsonObject obj = json.getAsJsonObject();
        String kind = obj.get("kind").getAsString();
        ListingResponseData data = context.deserialize(