class NullBooleanAdapter extends TypeAdapter<Boolean> {
    private JsonProps jsonProps;

    public NullBooleanAdapter(JsonProps jsonProps) {
        this.jsonProps = jsonProps;
    }

    @Override
    public void write(JsonWriter out, Boolean aBoolean) throws IOException {<FILL_FUNCTION_BODY>}

    @Override
    public Boolean read(JsonReader jsonReader) throws IOException {
        return TypeAdapters.BOOLEAN.read(jsonReader);
    }
}

        if (jsonProps.boolAsInt) {
            if (aBoolean == null) {
                out.value(0);
            } else {
                out.value(aBoolean ? 1 : 0);
            }
        } else {
            if (aBoolean == null) {
                out.value(false);
            } else {
                out.value(aBoolean);
            }
        }

    
<methods>public void <init>() ,public final java.lang.Boolean fromJson(java.io.Reader) throws java.io.IOException,public final java.lang.Boolean fromJson(java.lang.String) throws java.io.IOException,public final java.lang.Boolean fromJsonTree(com.google.gson.JsonElement) ,public final TypeAdapter<java.lang.Boolean> nullSafe() ,public abstract java.lang.Boolean read(com.google.gson.stream.JsonReader) throws java.io.IOException,public final java.lang.String toJson(java.lang.Boolean) ,public final void toJson(java.io.Writer, java.lang.Boolean) throws java.io.IOException,public final com.google.gson.JsonElement toJsonTree(java.lang.Boolean) ,public abstract void write(com.google.gson.stream.JsonWriter, java.lang.Boolean) throws java.io.IOException<variables>