PartyForm administratorForm = (PartyForm) form;
// get a DAO for the new Stake
dao = new AdministratorDAO();
Administrator administrator = null;
try {
// find administrator objects and attach to request
administrator = dao.findById(administratorForm.getId(), false);
// copy form-bean values to new Stake and Address objects
// NOTE: PropertyUtils will not work in this situation since there
// is an ID field which is different for Stake and Address
administrator.setNameFirst(administratorForm.getNameFirst());
administrator.setNameLast(administratorForm.getNameLast());
administrator.setUsername(administratorForm.getUsername());
administrator.setPassword(administratorForm.getPassword());
administrator.setEmailAddress(administratorForm.getEmailAddress());
administrator.getAddress().setStreetLine1(administratorForm.getStreetLine1());
administrator.getAddress().setStreetLine2(administratorForm.getStreetLine2());
administrator.getAddress().setCity(administratorForm.getCity());
administrator.getAddress().setState(administratorForm.getState());
administrator.getAddress().setPostalCode(administratorForm.getPostalCode());
// update the Stake
dao.makePersistent(administrator);
// close transaction and session