// Path: src/main/com/sailthru/client/ApiAction.java
// public enum ApiAction {
//     event,
//     settings,
//     email,
//     send,
//     blast,
//     blast_repeat,
//     preview,
//     template,
//     list,
//     content,
//     alert,
//     stats,
//     purchase,
//     horizon,
//     job,
//     trigger,
//     inbox,
//     user,
//     RETURN, // the case is inconsistent, but "return" is a reserved keyword
//     content_watch { public String toString() { return "content/watch"; } },
//     content_watch_profile { public String toString() { return "content/watch/profile"; } },
// }


import com.google.gson.reflect.TypeToken;
import com.sailthru.client.ApiAction;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
    }

    public Email setSend(String template) {
        this.send = template;
        return this;
    }

    public Email setSendVars(Map<String, Object> sendVars) {
        this.send_vars = sendVars;
        return this;
    }

    @SuppressWarnings("unchecked")
    public Email setVars(Map<String, Object> vars) {
        this.vars = vars;
        return this;
    }
    

    public Email setTextOnly() {
        this.vars.put("text_only", 1);
        return this;
    }

    public Type getType() {
        Type type = new TypeToken<Email>() {}.getType();
        return type;
    }

    @Override
// Path: src/main/com/sailthru/client/ApiAction.java
// public enum ApiAction {
//     event,
//     settings,
//     email,
//     send,
//     blast,
//     blast_repeat,
//     preview,
//     template,
//     list,
//     content,
//     alert,
//     stats,
//     purchase,
//     horizon,
//     job,
//     trigger,
//     inbox,
//     user,
//     RETURN, // the case is inconsistent, but "return" is a reserved keyword
//     content_watch { public String toString() { return "content/watch"; } },
//     content_watch_profile { public String toString() { return "content/watch/profile"; } },
// }


// Path: src/main/com/sailthru/client/params/Email.java
import com.google.gson.reflect.TypeToken;
import com.sailthru.client.ApiAction;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

    }

    public Email setSend(String template) {
        this.send = template;
        return this;
    }

    public Email setSendVars(Map<String, Object> sendVars) {
        this.send_vars = sendVars;
        return this;
    }

    @SuppressWarnings("unchecked")
    public Email setVars(Map<String, Object> vars) {
        this.vars = vars;
        return this;
    }
    

    public Email setTextOnly() {
        this.vars.put("text_only", 1);
        return this;
    }

    public Type getType() {
        Type type = new TypeToken<Email>() {}.getType();
        return type;
    }

    @Override
    public ApiAction getApiCall() {