protected Object getControlObject() {
    EmployeeArray employee = new EmployeeArray();
    employee.name = "John Doe";
    employee.homeAddress = new Address();
    employee.homeAddress.street = "123 Fake Street";
    employee.homeAddress.city = "Ottawa";
    employee.homeAddress.country = "Canada";

    List elements = getControlChildElements();
    employee.elements = elements.toArray();

    return employee;
  }
  protected Object getJSONReadControlObject() {
    EmployeeArray employee = new EmployeeArray();
    employee.name = "John Doe";
    employee.homeAddress = new Address();
    employee.homeAddress.street = "123 Fake Street";
    employee.homeAddress.city = "Ottawa";
    employee.homeAddress.country = "Canada";

    List elements = getControlChildElements();
    Object objectRemoved = elements.remove(elements.size() - 1);
    elements.add(0, objectRemoved);
    // remove namespace declaration
    ((Element) elements.get(3))
        .removeAttributeNS(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI, "myns");

    employee.elements = elements.toArray();

    return employee;
  }