// Path: src/main/java/myessentials/json/api/SerializerTemplate.java
// public abstract class SerializerTemplate<T> implements JsonSerializer<T>, JsonDeserializer<T> {
// 
//     public GsonBuilder createBuilder() {
//         GsonBuilder builder = new GsonBuilder();
//         register(builder);
//         return builder;
//     }
// 
//     public abstract void register(GsonBuilder builder);
// }


import com.google.gson.*;
import myessentials.json.api.SerializerTemplate;
import java.lang.reflect.Type;
package myessentials.test.json;



public class FakeSerializableObject {

    public int x = 0;
    public int y = 0;

// Path: src/main/java/myessentials/json/api/SerializerTemplate.java
// public abstract class SerializerTemplate<T> implements JsonSerializer<T>, JsonDeserializer<T> {
// 
//     public GsonBuilder createBuilder() {
//         GsonBuilder builder = new GsonBuilder();
//         register(builder);
//         return builder;
//     }
// 
//     public abstract void register(GsonBuilder builder);
// }


// Path: src/test/java/myessentials/test/json/FakeSerializableObject.java
import com.google.gson.*;
import myessentials.json.api.SerializerTemplate;
import java.lang.reflect.Type;

package myessentials.test.json;



public class FakeSerializableObject {

    public int x = 0;
    public int y = 0;

    public static class Serializer extends SerializerTemplate<FakeSerializableObject> {