// Path: src/com/createsend/models/subscribers/ConsentToTrack.java
// public enum ConsentToTrack {
//   UNCHANGED("Unchanged"),
//   YES("Yes"),
//   NO("No");
// 
//   private String value;
// 
//   ConsentToTrack(String value) {
//     this.value = value;
//   }
// 
//   @JsonCreator
//   public static ConsentToTrack forValue(String value) {
//     for (ConsentToTrack type : ConsentToTrack.values()) {
//       if (type.value.toLowerCase().equals(value.toLowerCase())) {
//         return type;
//       }
//     }
// 
//     return null;
//   }
// }
// 
// Path: src/com/createsend/models/transactional/EmailContent.java
// public class EmailContent {
// 
//     @JsonProperty("Html")
//     private String html;
// 
//     @JsonProperty("Text")
//     private String text;
// 
//     @JsonProperty("EmailVariables")
//     private List<String> emailVariables;
// 
//     @JsonProperty("InlineCss")
//     private boolean inlineCss;
// 
//     @JsonProperty("TrackOpens")
//     private boolean trackOpens;
// 
//     @JsonProperty("TrackClicks")
//     private boolean trackClicks;
// 
//     /**
//      * @return the html body.
//      */
//     public String getHtml() {
//         return html;
//     }
// 
//     /**
//      * @return the text body.
//      */
//     public String getText() {
//         return text;
//     }
// 
//     /**
//      * @return the data merge variables.
//      */
//     public List<String> getEmailVariables() {
//         return emailVariables;
//     }
// 
//     /**
//      * @return true if inline css, false otherwise.
//      */
//     public boolean isInlineCss() {
//         return inlineCss;
//     }
// 
//     /**
//      * @return true if track opens enabled, false otherwise.
//      */
//     public boolean isTrackOpens() {
//         return trackOpens;
//     }
// 
//     /**
//      * @return true if track clicks enabled, false otherwise.
//      */
//     public boolean isTrackClicks() {
//         return trackClicks;
//     }
// 
//     /**
//      * @param html html body content.
//      */
//     public void setHtml(String html) {
//         this.html = html;
//     }
// 
//     /**
//      * @param text text body content.
//      */
//     public void setText(String text) {
//         this.text = text;
//     }
// 
//     /**
//      * @param inlineCss enabled css inlining.
//      */
//     public void setInlineCss(boolean inlineCss) {
//         this.inlineCss = inlineCss;
//     }
// 
//     /**
//      * @param trackOpens enabled open tracking.
//      */
//     public void setTrackOpens(boolean trackOpens) {
//         this.trackOpens = trackOpens;
//     }
// 
//     /**
//      * @param trackClicks enable click tracking.
//      */
//     public void setTrackClicks(boolean trackClicks) {
//         this.trackClicks = trackClicks;
//     }
// 
//     @Override
//     public String toString() {
//         return String.format("html\n: %s\n\n text\n: %s\n", html, text);
//     }
// }


import com.createsend.models.subscribers.ConsentToTrack;
import com.createsend.models.transactional.EmailContent;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

     * Should Clicks be tracked.
     */
    private boolean trackClicks;

    /**
     * The Consent to track value of the recipients
     */
    private ConsentToTrack consentToTrack;

    public ClassicEmailRequest(String to, ConsentToTrack consentToTrack) {
        if (to == null || to.length() == 0) {
            throw new IllegalArgumentException("Must supply a TO address");
        }

        if (consentToTrack == null) {
            throw new IllegalArgumentException("Must supply a ConsentToTrack value");
        }

        this.to.add(to);
        this.consentToTrack = consentToTrack;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getSubject() {
        return subject;
    }


// Path: src/com/createsend/models/subscribers/ConsentToTrack.java
// public enum ConsentToTrack {
//   UNCHANGED("Unchanged"),
//   YES("Yes"),
//   NO("No");
// 
//   private String value;
// 
//   ConsentToTrack(String value) {
//     this.value = value;
//   }
// 
//   @JsonCreator
//   public static ConsentToTrack forValue(String value) {
//     for (ConsentToTrack type : ConsentToTrack.values()) {
//       if (type.value.toLowerCase().equals(value.toLowerCase())) {
//         return type;
//       }
//     }
// 
//     return null;
//   }
// }
// 
// Path: src/com/createsend/models/transactional/EmailContent.java
// public class EmailContent {
// 
//     @JsonProperty("Html")
//     private String html;
// 
//     @JsonProperty("Text")
//     private String text;
// 
//     @JsonProperty("EmailVariables")
//     private List<String> emailVariables;
// 
//     @JsonProperty("InlineCss")
//     private boolean inlineCss;
// 
//     @JsonProperty("TrackOpens")
//     private boolean trackOpens;
// 
//     @JsonProperty("TrackClicks")
//     private boolean trackClicks;
// 
//     /**
//      * @return the html body.
//      */
//     public String getHtml() {
//         return html;
//     }
// 
//     /**
//      * @return the text body.
//      */
//     public String getText() {
//         return text;
//     }
// 
//     /**
//      * @return the data merge variables.
//      */
//     public List<String> getEmailVariables() {
//         return emailVariables;
//     }
// 
//     /**
//      * @return true if inline css, false otherwise.
//      */
//     public boolean isInlineCss() {
//         return inlineCss;
//     }
// 
//     /**
//      * @return true if track opens enabled, false otherwise.
//      */
//     public boolean isTrackOpens() {
//         return trackOpens;
//     }
// 
//     /**
//      * @return true if track clicks enabled, false otherwise.
//      */
//     public boolean isTrackClicks() {
//         return trackClicks;
//     }
// 
//     /**
//      * @param html html body content.
//      */
//     public void setHtml(String html) {
//         this.html = html;
//     }
// 
//     /**
//      * @param text text body content.
//      */
//     public void setText(String text) {
//         this.text = text;
//     }
// 
//     /**
//      * @param inlineCss enabled css inlining.
//      */
//     public void setInlineCss(boolean inlineCss) {
//         this.inlineCss = inlineCss;
//     }
// 
//     /**
//      * @param trackOpens enabled open tracking.
//      */
//     public void setTrackOpens(boolean trackOpens) {
//         this.trackOpens = trackOpens;
//     }
// 
//     /**
//      * @param trackClicks enable click tracking.
//      */
//     public void setTrackClicks(boolean trackClicks) {
//         this.trackClicks = trackClicks;
//     }
// 
//     @Override
//     public String toString() {
//         return String.format("html\n: %s\n\n text\n: %s\n", html, text);
//     }
// }


// Path: src/com/createsend/models/transactional/request/ClassicEmailRequest.java
import com.createsend.models.subscribers.ConsentToTrack;
import com.createsend.models.transactional.EmailContent;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

     * Should Clicks be tracked.
     */
    private boolean trackClicks;

    /**
     * The Consent to track value of the recipients
     */
    private ConsentToTrack consentToTrack;

    public ClassicEmailRequest(String to, ConsentToTrack consentToTrack) {
        if (to == null || to.length() == 0) {
            throw new IllegalArgumentException("Must supply a TO address");
        }

        if (consentToTrack == null) {
            throw new IllegalArgumentException("Must supply a ConsentToTrack value");
        }

        this.to.add(to);
        this.consentToTrack = consentToTrack;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getSubject() {
        return subject;
    }


    public void setContent(EmailContent content) {
