public GroupDialog(Group pGroup) {
    this.group = pGroup;
    this.setHeading(textMessages.group());
    this.setModal(true);
    this.setLayout(new AbsoluteLayout());
    this.setSize("455", "355");
    this.setResizable(false);

    LabelField lblfldName = new LabelField(textMessages.name_());
    add(lblfldName, new AbsoluteData(6, 13));
    lblfldName.setSize("82px", "19px");

    nameTextBox = new TextField<String>();
    add(nameTextBox, new AbsoluteData(128, 13));
    nameTextBox.setSize("306px", "22px");

    LabelField lblfldUsers = new LabelField(textMessages.users_());
    add(lblfldUsers, new AbsoluteData(6, 49));
    lblfldUsers.setSize("54px", "19px");

    LabelField lblfldAvailable = new LabelField(textMessages.available());
    add(lblfldAvailable, new AbsoluteData(6, 74));
    lblfldAvailable.setSize("67px", "19px");

    LabelField lblfldMembers = new LabelField(textMessages.members());
    add(lblfldMembers, new AbsoluteData(232, 74));
    lblfldMembers.setSize("74px", "19px");

    DualListField<UserData> membersListBox = new DualListField<UserData>();
    add(membersListBox, new AbsoluteData(6, 96));
    membersListBox.setSize("428px", "183px");
    ListField<UserData> from = membersListBox.getFromList();
    ListField<UserData> to = membersListBox.getToList();

    from.setSize(300, 100);
    from.setDisplayField(Constants.FULLNAME);
    fromUserStore = new ListStore<UserData>();
    fromUserStore.sort(Constants.FULLNAME, SortDir.ASC);
    from.setStore(fromUserStore);
    to.setDisplayField(Constants.FULLNAME);
    to.setSize(300, 100);
    toUserStore = new ListStore<UserData>();
    toUserStore.sort(Constants.FULLNAME, SortDir.ASC);
    to.setStore(toUserStore);

    Button saveButton =
        new Button(
            textMessages.save(),
            new SelectionListener<ButtonEvent>() {
              @Override
              public void componentSelected(ButtonEvent ce) {
                doSave();
              }
            });

    Button cancelButton =
        new Button(
            textMessages.cancel(),
            new SelectionListener<ButtonEvent>() {
              @Override
              public void componentSelected(ButtonEvent ce) {
                doCancel();
              }
            });

    setButtonAlign(HorizontalAlignment.CENTER);
    addButton(saveButton);
    addButton(cancelButton);

    setFields();
  }