@Override
  public String execute() {
    IUnitOfWork unitOfWork = (IUnitOfWork) commandParameter.getSessionAttribute(ApplictionResources.getTransactionTokenKey());
    String firstName = (String) commandParameter.getRequestAttribute(CONTACT_FIRST_NAME_ATTRIBUTE);
    String lastName = (String) commandParameter.getRequestAttribute(CONTACT_LAST_NAME_ATTRIBUTE);
    String phone = (String) commandParameter.getRequestAttribute(CONTACT_PHONE_ATTRIBUTE);
    Contact contact = new Contact(firstName, lastName, phone, null);
    unitOfWork.registerNew(contact);
    commandParameter.setSessionAttribute(CONTACT_ATTRIBUTE, contact);
    NewAddressDto addressDto =
        new NewAddressDto((String) commandParameter.getRequestAttribute(ApplictionResources.getTransactionTokenKey()), "save.ctrl", "index.ctrl");
    String xml = new NewAddressDtoToXmlConverter().convertToXml(addressDto);
    ApplictionResources applictionResources = ApplictionResources.getInstance();
    InputStream xsltInputStream = applictionResources.getResourceAsStream(XSLT_SCRIPT_PATH);
    XSLTTransformer transformer = new XSLTTransformer();
    try {
      transformer.transform(IOUtils.toInputStream(xml), xsltInputStream, commandParameter.getOutputStream());
    } catch (IOException e) {
      e.printStackTrace();
    }
    return UrlUtil.getPage(commandParameter);
  }