@@ -0,0 +1,2259 @@
+package seedu.address.storage;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0A%0Aimport javax.xml.bind.annotation.XmlElement;%0A%0Aimport seedu.address.commons.exceptions.IllegalValueException;%0Aimport seedu.address.model.tag.Tag;%0Aimport seedu.address.model.tag.UniqueTagList;%0Aimport seedu.address.model.task.Description;%0Aimport seedu.address.model.task.Email;%0Aimport seedu.address.model.task.Priority;%0Aimport seedu.address.model.task.ReadOnlyTask;%0Aimport seedu.address.model.task.Task;%0A/**%0A * JAXB-friendly version of the Task.%0A */%0Apublic class XmlAdaptedTask %7B%0A%0A    @XmlElement(required = true)%0A    private String name;%0A    @XmlElement(required = true)%0A    private String phone;%0A    @XmlElement(required = true)%0A    private String email;%0A    @XmlElement(required = true)%0A    private String address;%0A%0A    @XmlElement%0A    private List%3CXmlAdaptedTag%3E tagged = new ArrayList%3C%3E();%0A%0A    /**%0A     * Constructs an XmlAdaptedTask.%0A     * This is the no-arg constructor that is required by JAXB.%0A     */%0A    public XmlAdaptedTask() %7B%7D%0A%0A%0A    /**%0A     * Converts a given Task into this class for JAXB use.%0A     *%0A     * @param source future changes to this will not affect the created XmlAdaptedTask%0A     */%0A    public XmlAdaptedTask(ReadOnlyTask source) %7B%0A        name = source.getDescription().description;%0A        phone = source.getPriority().value;%0A        email = source.getDate().value;%0A        tagged = new ArrayList%3C%3E();%0A        for (Tag tag : source.getTags()) %7B%0A            tagged.add(new XmlAdaptedTag(tag));%0A        %7D%0A    %7D%0A%0A    /**%0A     * Converts this jaxb-friendly adapted Task object into the model's Task object.%0A     *%0A     * @throws IllegalValueException if there were any data constraints violated in the adapted Task%0A     */%0A    public Task toModelType() throws IllegalValueException %7B%0A        final List%3CTag%3E TaskTags = new ArrayList%3C%3E();%0A        for (XmlAdaptedTag tag : tagged) %7B%0A            TaskTags.add(tag.toModelType());%0A        %7D%0A        final Description description = new Description(this.name);%0A        final Priority priority = new Priority(this.phone);%0A        final Email email = new Email(this.email);%0A        final UniqueTagList tags = new UniqueTagList(TaskTags);%0A        return new Task(description, priority, email, tags);%0A    %7D%0A%7D%0A

add XmlAdaptedTask