@RequestMapping(
      value = "save",
      method = {RequestMethod.POST})
  public String save(
      @Valid @ModelAttribute Guest newGuest,
      BindingResult result,
      Model model,
      HttpServletResponse response) {

    if (result.hasErrors()) {
      GuestWrapper guestWrapper = guestService.getLocaleInformationForForm();

      model.addAttribute("countries", guestWrapper.getCountries());
      model.addAttribute("states", guestWrapper.getStates());
      model.addAttribute("cities", guestWrapper.getCities());

      GuestbookController.UNITEDSTATESCOUNTRYID = guestWrapper.getUnitedStates().getPk();
      GuestbookController.MASSACHUSETTSSTATEID = guestWrapper.getMassachusetts().getPk();

      return "guestbook";
    }

    guestService.addNewGuest(newGuest);
    emailService.sendThankyouEmail(newGuest.getEmail(), newGuest.getName());

    return "thankyou";
  }