@@ -0,0 +1,2841 @@
+package com.github.elifarley.kotlin%0A%0Aimport java.io.Serializable;%0A%0Apublic class EmailMessageOriginal implements Serializable %7B%0A%0A    private final String toAddress;%0A    private final String subject;%0A    private final String body;%0A    private String myMutableField;%0A%0A    public EmailMessageOriginal(String toAddress, String subject, String body, String myMutableField) %7B%0A        this.toAddress = toAddress;%0A        this.subject = subject;%0A        this.body = body;%0A        this.myMutableField = myMutableField;%0A    %7D%0A%0A    public String getToAddress() %7B%0A        return toAddress;%0A    %7D%0A%0A    public String getSubject() %7B%0A        return subject;%0A    %7D%0A%0A    public String getBody() %7B%0A        return body;%0A    %7D%0A%0A    public String getMyMutableField() %7B%0A        return myMutableField;%0A    %7D%0A%0A    public void setMyMutableField(String newValue) %7B%0A        myMutableField = newValue;%0A    %7D%0A%0A    @Override%0A    public String toString() %7B%0A        return %22EmailMessageOriginal%7B%22 +%0A                %22subject='%22 + subject + '%5C'' +%0A                %22, toAddress='%22 + toAddress + '%5C'' +%0A                %22, body='%22 + body + '%5C'' +%0A                %22, myMutableField='%22 + myMutableField + '%5C'' +%0A                '%7D';%0A    %7D%0A%0A    public String component1() %7B%0A        return toAddress;%0A    %7D%0A%0A    public String component2() %7B%0A        return subject;%0A    %7D%0A%0A    public String component3() %7B%0A        return body;%0A    %7D%0A%0A    public String component4() %7B%0A        return myMutableField;%0A    %7D%0A%0A    @Override%0A    public boolean equals(Object o) %7B%0A        if (this == o) return true;%0A        if (o == null %7C%7C getClass() != o.getClass()) return false;%0A%0A        EmailMessageOriginal that = (EmailMessageOriginal) o;%0A%0A        if (toAddress != null ? !toAddress.equals(that.toAddress) : that.toAddress != null) return false;%0A        if (subject != null ? !subject.equals(that.subject) : that.subject != null) return false;%0A        if (body != null ? !body.equals(that.body) : that.body != null) return false;%0A        return myMutableField != null ? myMutableField.equals(that.myMutableField) : that.myMutableField == null;%0A%0A    %7D%0A%0A    @Override%0A    public int hashCode() %7B%0A        int result = toAddress != null ? toAddress.hashCode() : 0;%0A        result = 31 * result + (subject != null ? subject.hashCode() : 0);%0A        result = 31 * result + (body != null ? body.hashCode() : 0);%0A        result = 31 * result + (myMutableField != null ? myMutableField.hashCode() : 0);%0A        return result;%0A    %7D%0A%0A    public EmailMessageOriginal copy(String toAddress, String subject, String body, String myMutableField) %7B%0A        return new EmailMessageOriginal(toAddress == null ? this.toAddress : toAddress,%0A                subject == null ? this.subject : subject, body == null ? this.body : body,%0A                myMutableField == null ? this.myMutableField : myMutableField);%0A    %7D%0A%0A%7D%0A

Create EmailMessageOriginal.java