Program: 47435
Project: 47435
Buggy source:
protected void onOk(){
  String name=scheduleNameTextBox.getText();
  String alphaNumeric="String_Node_Str";
  if (!name.matches(alphaNumeric)) {
    MessageDialogBox errorDialog=new MessageDialogBox(Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str",name),false,false,true);
    errorDialog.center();
    return;
  }
  WaitPopup.getInstance().setVisible(true);
  String urlPath=filePath.replaceAll("String_Node_Str","String_Node_Str");
  RequestBuilder scheduleFileRequestBuilder=new RequestBuilder(RequestBuilder.GET,GWT.getHostPageBaseURL() + "String_Node_Str" + urlPath+ "String_Node_Str");
  scheduleFileRequestBuilder.setHeader("String_Node_Str","String_Node_Str");
  try {
    scheduleFileRequestBuilder.sendRequest(null,new RequestCallback(){
      public void onError(      Request request,      Throwable exception){
        WaitPopup.getInstance().setVisible(false);
        MessageDialogBox dialogBox=new MessageDialogBox(Messages.getString("String_Node_Str"),exception.toString(),false,false,true);
        dialogBox.center();
      }
      public void onResponseReceived(      Request request,      Response response){
        WaitPopup.getInstance().setVisible(false);
        if (response.getStatusCode() == Response.SC_OK) {
          final boolean hasParams=Boolean.parseBoolean(response.getText());
          if (jsJob != null) {
            jsJob.setJobName(scheduleNameTextBox.getText());
            jsJob.setOutputPath(scheduleLocationTextBox.getText());
            if (recurrenceDialog == null) {
              recurrenceDialog=new ScheduleRecurrenceDialog(NewScheduleDialog.this,jsJob,callback,hasParams,isEmailConfValid,ScheduleDialogType.SCHEDULER);
            }
          }
 else           if (recurrenceDialog == null) {
            recurrenceDialog=new ScheduleRecurrenceDialog(NewScheduleDialog.this,filePath,scheduleLocationTextBox.getText(),scheduleNameTextBox.getText(),callback,hasParams,isEmailConfValid);
          }
 else {
            recurrenceDialog.scheduleName=scheduleNameTextBox.getText();
            recurrenceDialog.outputLocation=scheduleLocationTextBox.getText();
          }
          recurrenceDialog.setParentDialog(NewScheduleDialog.this);
          recurrenceDialog.center();
          NewScheduleDialog.super.onOk();
        }
      }
    }
);
  }
 catch (  RequestException e) {
    WaitPopup.getInstance().setVisible(false);
  }
}

Fixed version (ground truth):
protected void onOk(){
  String name=scheduleNameTextBox.getText();
  String alphaNumeric="String_Node_Str";
  if (!name.matches(alphaNumeric)) {
    MessageDialogBox errorDialog=new MessageDialogBox(Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str",name),false,false,true);
    errorDialog.center();
    return;
  }
  WaitPopup.getInstance().setVisible(true);
  String urlPath=filePath.replaceAll("String_Node_Str","String_Node_Str");
  RequestBuilder scheduleFileRequestBuilder=new RequestBuilder(RequestBuilder.GET,GWT.getHostPageBaseURL() + "String_Node_Str" + urlPath+ "String_Node_Str");
  scheduleFileRequestBuilder.setHeader("String_Node_Str","String_Node_Str");
  try {
    scheduleFileRequestBuilder.sendRequest(null,new RequestCallback(){
      public void onError(      Request request,      Throwable exception){
        WaitPopup.getInstance().setVisible(false);
        MessageDialogBox dialogBox=new MessageDialogBox(Messages.getString("String_Node_Str"),exception.toString(),false,false,true);
        dialogBox.center();
      }
      public void onResponseReceived(      Request request,      Response response){
        WaitPopup.getInstance().setVisible(false);
        if (response.getStatusCode() == Response.SC_OK) {
          final boolean hasParams=Boolean.parseBoolean(response.getText());
          if (jsJob != null) {
            jsJob.setJobName(scheduleNameTextBox.getText());
            jsJob.setOutputPath(scheduleLocationTextBox.getText(),scheduleNameTextBox.getText());
            if (recurrenceDialog == null) {
              recurrenceDialog=new ScheduleRecurrenceDialog(NewScheduleDialog.this,jsJob,callback,hasParams,isEmailConfValid,ScheduleDialogType.SCHEDULER);
            }
          }
 else           if (recurrenceDialog == null) {
            recurrenceDialog=new ScheduleRecurrenceDialog(NewScheduleDialog.this,filePath,scheduleLocationTextBox.getText(),scheduleNameTextBox.getText(),callback,hasParams,isEmailConfValid);
          }
 else {
            recurrenceDialog.scheduleName=scheduleNameTextBox.getText();
            recurrenceDialog.outputLocation=scheduleLocationTextBox.getText();
          }
          recurrenceDialog.setParentDialog(NewScheduleDialog.this);
          recurrenceDialog.center();
          NewScheduleDialog.super.onOk();
        }
      }
    }
);
  }
 catch (  RequestException e) {
    WaitPopup.getInstance().setVisible(false);
  }
}