Program: 188569
Project: 188569
Buggy source:
@UiHandler("String_Node_Str") void buttonApplyHandler(ClickEvent e){
  if (userDataPanel.isValid()) {
    String recaptchaResponse=null;
    if (recaptchaActive) {
      recaptchaResponse=recaptchaWidget.getResponse();
    }
    user=userDataPanel.getUser();
    user.setActive(false);
    final String password=userDataPanel.getPassword();
    final String recaptcha=recaptchaResponse;
    UserManagementService.Util.getInstance().registerUser(user,password,recaptcha,userDataPanel.getExtra(),new AsyncCallback<User>(){
      @Override public void onFailure(      Throwable caught){
        errorMessage(caught);
      }
      @Override public void onSuccess(      User result){
        if (result.isActive()) {
          Dialogs.showInformationDialog(messages.registerSuccessDialogTitle(),messages.registerSuccessDialogMessageActive(),messages.registerSuccessDialogButton(),new AsyncCallback<Void>(){
            @Override public void onSuccess(            Void result){
              Tools.newHistory(Login.RESOLVER);
            }
            @Override public void onFailure(            Throwable caught){
              Tools.newHistory(Login.RESOLVER);
            }
          }
);
        }
 else {
          UserManagementService.Util.getInstance().sendEmailVerification(user.getId(),new AsyncCallback<Notification>(){
            @Override public void onSuccess(            Notification result){
              if (result.getState() == NOTIFICATION_STATE.COMPLETED) {
                Dialogs.showInformationDialog(messages.registerSuccessDialogTitle(),messages.registerSuccessDialogMessage(),messages.registerSuccessDialogButton(),new AsyncCallback<Void>(){
                  @Override public void onSuccess(                  Void result){
                    Tools.newHistory(Login.RESOLVER);
                  }
                  @Override public void onFailure(                  Throwable caught){
                    Tools.newHistory(Login.RESOLVER);
                  }
                }
);
              }
 else {
                user.setActive(true);
                UserManagementService.Util.getInstance().updateUser(user,password,userDataPanel.getExtra(),new AsyncCallback<Void>(){
                  @Override public void onFailure(                  Throwable caught){
                    errorMessage(caught);
                  }
                  @Override public void onSuccess(                  Void result){
                    Dialogs.showInformationDialog(messages.registerSuccessDialogTitle(),messages.registerSuccessDialogMessageActive(),messages.registerSuccessDialogButton(),new AsyncCallback<Void>(){
                      @Override public void onSuccess(                      Void result){
                        Tools.newHistory(Login.RESOLVER);
                      }
                      @Override public void onFailure(                      Throwable caught){
                        Tools.newHistory(Login.RESOLVER);
                      }
                    }
);
                  }
                }
);
              }
            }
            @Override public void onFailure(            Throwable caught){
              sendEmailVerificationFailure(caught);
            }
          }
);
        }
      }
    }
);
  }
}

Fixed version (ground truth):
@UiHandler("String_Node_Str") void buttonApplyHandler(ClickEvent e){
  if (userDataPanel.isValid()) {
    String recaptchaResponse=null;
    if (recaptchaActive) {
      recaptchaResponse=recaptchaWidget.getResponse();
    }
    user=userDataPanel.getUser();
    user.setActive(false);
    final String password=userDataPanel.getPassword();
    final String recaptcha=recaptchaResponse;
    UserManagementService.Util.getInstance().registerUser(user,password,recaptcha,userDataPanel.getExtra(),new AsyncCallback<User>(){
      @Override public void onFailure(      Throwable caught){
        errorMessage(caught);
      }
      @Override public void onSuccess(      final User registeredUser){
        if (registeredUser.isActive()) {
          Dialogs.showInformationDialog(messages.registerSuccessDialogTitle(),messages.registerSuccessDialogMessageActive(),messages.registerSuccessDialogButton(),new AsyncCallback<Void>(){
            @Override public void onSuccess(            Void result){
              Tools.newHistory(Login.RESOLVER);
            }
            @Override public void onFailure(            Throwable caught){
              Tools.newHistory(Login.RESOLVER);
            }
          }
);
        }
 else {
          UserManagementService.Util.getInstance().sendEmailVerification(registeredUser.getId(),new AsyncCallback<Notification>(){
            @Override public void onSuccess(            Notification result){
              if (result.getState() == NOTIFICATION_STATE.COMPLETED) {
                Dialogs.showInformationDialog(messages.registerSuccessDialogTitle(),messages.registerSuccessDialogMessage(),messages.registerSuccessDialogButton(),new AsyncCallback<Void>(){
                  @Override public void onSuccess(                  Void result){
                    Tools.newHistory(Login.RESOLVER);
                  }
                  @Override public void onFailure(                  Throwable caught){
                    Tools.newHistory(Login.RESOLVER);
                  }
                }
);
              }
 else {
                registeredUser.setActive(true);
                UserManagementService.Util.getInstance().updateUser(registeredUser,password,userDataPanel.getExtra(),new AsyncCallback<Void>(){
                  @Override public void onFailure(                  Throwable caught){
                    errorMessage(caught);
                  }
                  @Override public void onSuccess(                  Void result){
                    Dialogs.showInformationDialog(messages.registerSuccessDialogTitle(),messages.registerSuccessDialogMessageActive(),messages.registerSuccessDialogButton(),new AsyncCallback<Void>(){
                      @Override public void onSuccess(                      Void result){
                        Tools.newHistory(Login.RESOLVER);
                      }
                      @Override public void onFailure(                      Throwable caught){
                        Tools.newHistory(Login.RESOLVER);
                      }
                    }
);
                  }
                }
);
              }
            }
            @Override public void onFailure(            Throwable caught){
              sendEmailVerificationFailure(caught);
            }
          }
);
        }
      }
    }
);
  }
}