public ServiceInputDialog(Shell parent, SyntheticService s, List elements) {
    super(parent);

    this.service = s;

    String name = "";
    String className = "";

    if (service != null) {

      name = service.name != null ? service.name : ""; // $NON-NLS-N$
      className = service.className != null ? service.className : ""; // $NON-NLS-N$	
    }

    fNameDialogField = new StringDialogField();
    fNameDialogField.setLabelText("Service name");
    fNameDialogField.setDialogFieldListener(
        new IDialogFieldListener() {
          @Override
          public void dialogFieldChanged(DialogField field) {
            // TODO: validate
          }
        });

    fNameDialogField.setText(name);

    fClassDialogField = new StringDialogField();
    fClassDialogField.setLabelText("Service class");
    fClassDialogField.setText(className);
    fClassDialogField.setDialogFieldListener(
        new IDialogFieldListener() {

          @Override
          public void dialogFieldChanged(DialogField field) {

            // TODO: validate

          }
        });
  }