protected void setRadioButtons() {
   super.setRadioButtons();
   wClustered.setVisible(wCluster.getSelection());
 }
 protected void setActive() {
   super.setActive();
   wClustered.setVisible(wCluster.getSelection());
   wLocal.setVisible(!wCluster.getSelection() && !wbServer.getSelection());
 }
  protected void createElements() {
    super.createElements();
    shell.setText(BaseMessages.getString(PKG, "JobTrans.Header"));

    wlPath.setText(BaseMessages.getString(PKG, "JobTrans.JobStep.Transformation.Label"));
    wlDescription.setText(BaseMessages.getString(PKG, "JobTrans.Local.Label"));
    wPassParams.setText(BaseMessages.getString(PKG, "JobTrans.PassAllParameters.Label"));

    wCluster = new Button(typeComposite, SWT.RADIO);
    props.setLook(wCluster);
    wCluster.setText(BaseMessages.getString(PKG, "JobTrans.Clustered.Option.Label"));
    FormData fdbClustered = new FormData();
    fdbClustered.left = new FormAttachment(0, 0);
    fdbClustered.top = new FormAttachment(wbServer, 10);
    wCluster.setLayoutData(fdbClustered);
    wCluster.addSelectionListener(
        new SelectionAdapter() {
          public void widgetSelected(SelectionEvent e) {
            setRadioButtons();
          }
        });

    // Start Server Section
    wWaitingToFinish = new Button(wServer, SWT.CHECK);
    props.setLook(wWaitingToFinish);
    wWaitingToFinish.setText(BaseMessages.getString(PKG, "JobTrans.WaitToFinish.Label"));
    FormData fdWait = new FormData();
    fdWait.top = new FormAttachment(wSlaveServer, 10);
    fdWait.left = new FormAttachment(0, 0);
    wWaitingToFinish.setLayoutData(fdWait);

    wFollowingAbortRemotely = new Button(wServer, SWT.CHECK);
    props.setLook(wFollowingAbortRemotely);
    wFollowingAbortRemotely.setText(BaseMessages.getString(PKG, "JobTrans.AbortRemote.Label"));
    FormData fdFollow = new FormData();
    fdFollow.top = new FormAttachment(wWaitingToFinish, 10);
    fdFollow.left = new FormAttachment(0, 0);
    wFollowingAbortRemotely.setLayoutData(fdFollow);
    // End Server Section

    // Start Clustered Section
    wClustered = new Composite(gEnvironmentType, SWT.NONE);
    props.setLook(wClustered);
    wClustered.setVisible(false);
    FormLayout flwClustered = new FormLayout();
    flwClustered.marginWidth = 0;
    flwClustered.marginHeight = 0;
    wClustered.setLayout(flwClustered);

    FormData fdwClustered = new FormData();
    fdwClustered.left = new FormAttachment(vSpacer, 30);
    fdwClustered.top = new FormAttachment(0, 0);
    wClustered.setLayoutData(fdwClustered);

    Label wlClusteredDescription = new Label(wClustered, SWT.LEFT);
    props.setLook(wlClusteredDescription);
    wlClusteredDescription.setText(BaseMessages.getString(PKG, "JobTrans.Clustered.Label"));
    wlClusteredDescription.setVisible(true);
    FormData fdlCusteredDescription = new FormData();
    fdlCusteredDescription.top = new FormAttachment(0, 0);
    fdlCusteredDescription.left = new FormAttachment(0, 0);
    wlClusteredDescription.setLayoutData(fdlCusteredDescription);

    wClearRows = new Button(gExecution, SWT.CHECK);
    props.setLook(wClearRows);
    wClearRows.setText(BaseMessages.getString(PKG, "JobTrans.ClearResultList.Label"));
    FormData fdbClearRows = new FormData();
    fdbClearRows.left = new FormAttachment(0, 0);
    fdbClearRows.top = new FormAttachment(wEveryRow, 10);
    wClearRows.setLayoutData(fdbClearRows);

    wClearFiles = new Button(gExecution, SWT.CHECK);
    props.setLook(wClearFiles);
    wClearFiles.setText(BaseMessages.getString(PKG, "JobTrans.ClearResultFiles.Label"));
    FormData fdbClearFiles = new FormData();
    fdbClearFiles.left = new FormAttachment(0, 0);
    fdbClearFiles.top = new FormAttachment(wClearRows, 10);
    wClearFiles.setLayoutData(fdbClearFiles);

    wLogRemoteWork = new Button(wClustered, SWT.CHECK);
    props.setLook(wLogRemoteWork);
    wLogRemoteWork.setText(BaseMessages.getString(PKG, "JobTrans.LogRemoteWork.Label"));
    FormData fdLogRemote = new FormData();
    fdLogRemote.top = new FormAttachment(wlClusteredDescription, 10);
    fdLogRemote.left = new FormAttachment(0, 0);
    wLogRemoteWork.setLayoutData(fdLogRemote);
    // End Clustered Section

    wbGetParams.addSelectionListener(
        new SelectionAdapter() {
          @Override
          public void widgetSelected(SelectionEvent arg0) {
            getParameters(null); // force reload from file specification
          }
        });

    wbBrowse.addSelectionListener(
        new SelectionAdapter() {
          public void widgetSelected(SelectionEvent e) {
            if (rep != null) {
              selectTransformation();
            } else {
              pickFileVFS();
            }
          }
        });

    wbLogFilename.addSelectionListener(
        new SelectionAdapter() {
          public void widgetSelected(SelectionEvent e) {
            selectLogFile(FILE_FILTERLOGNAMES);
          }
        });
  }