Program: 188355
Project: 188355
Buggy source:
public void move(final String aipId,final String representationId,final SelectedItems<IndexedFile> selectedItems,final AsyncCallback<ActionImpact> callback){
  Filter filter=new Filter(new SimpleFilterParameter(RodaConstants.FILE_AIP_ID,aipId),new SimpleFilterParameter(RodaConstants.FILE_REPRESENTATION_ID,representationId),new SimpleFilterParameter(RodaConstants.FILE_ISDIRECTORY,Boolean.toString(true)));
  SelectFileDialog selectFileDialog=new SelectFileDialog(messages.moveItemTitle(),filter,true,false);
  selectFileDialog.setEmptyParentButtonVisible(true);
  selectFileDialog.setSingleSelectionMode();
  selectFileDialog.showAndCenter();
  selectFileDialog.addValueChangeHandler(new ValueChangeHandler<IndexedFile>(){
    @Override public void onValueChange(    ValueChangeEvent<IndexedFile> event){
      final IndexedFile toFolder=event.getValue();
      Dialogs.showPromptDialog(messages.outcomeDetailTitle(),null,null,messages.outcomeDetailPlaceholder(),RegExp.compile("String_Node_Str"),messages.cancelButton(),messages.confirmButton(),new AsyncCallback<String>(){
        @Override public void onFailure(        Throwable caught){
        }
        @Override public void onSuccess(        String details){
          BrowserService.Util.getInstance().moveFiles(aipId,representationId,selectedItems,toFolder,details,new LoadingAsyncCallback<Void>(){
            @Override public void onSuccessImpl(            Void nothing){
              Toast.showInfo(messages.runningInBackgroundTitle(),messages.runningInBackgroundDescription());
              Timer timer=new Timer(){
                @Override public void run(){
                  if (toFolder != null) {
                    HistoryUtils.openBrowse(toFolder);
                  }
 else {
                    HistoryUtils.openBrowse(aipId,representationId);
                  }
                  callback.onSuccess(null);
                }
              }
;
              timer.schedule(RodaConstants.ACTION_TIMEOUT);
            }
            @Override public void onFailureImpl(            Throwable caught){
              if (caught instanceof NotFoundException) {
                Toast.showError(messages.moveNoSuchObject(caught.getMessage()));
              }
 else {
                callback.onFailure(caught);
              }
            }
          }
);
        }
      }
);
    }
  }
);
}

Fixed version (ground truth):
public void move(final String aipId,final String representationId,final SelectedItems<IndexedFile> selectedItems,final AsyncCallback<ActionImpact> callback){
  Filter filter=new Filter(new SimpleFilterParameter(RodaConstants.FILE_AIP_ID,aipId),new SimpleFilterParameter(RodaConstants.FILE_REPRESENTATION_ID,representationId),new SimpleFilterParameter(RodaConstants.FILE_ISDIRECTORY,Boolean.toString(true)));
  SelectFileDialog selectFileDialog=new SelectFileDialog(messages.moveItemTitle(),filter,true,false);
  selectFileDialog.setEmptyParentButtonVisible(true);
  selectFileDialog.setSingleSelectionMode();
  selectFileDialog.showAndCenter();
  selectFileDialog.addValueChangeHandler(new ValueChangeHandler<IndexedFile>(){
    @Override public void onValueChange(    ValueChangeEvent<IndexedFile> event){
      final IndexedFile toFolder=event.getValue();
      Dialogs.showPromptDialog(messages.outcomeDetailTitle(),null,null,messages.outcomeDetailPlaceholder(),RegExp.compile("String_Node_Str"),messages.cancelButton(),messages.confirmButton(),false,new AsyncCallback<String>(){
        @Override public void onFailure(        Throwable caught){
        }
        @Override public void onSuccess(        String details){
          BrowserService.Util.getInstance().moveFiles(aipId,representationId,selectedItems,toFolder,details,new LoadingAsyncCallback<Void>(){
            @Override public void onSuccessImpl(            Void nothing){
              Toast.showInfo(messages.runningInBackgroundTitle(),messages.runningInBackgroundDescription());
              Timer timer=new Timer(){
                @Override public void run(){
                  if (toFolder != null) {
                    HistoryUtils.openBrowse(toFolder);
                  }
 else {
                    HistoryUtils.openBrowse(aipId,representationId);
                  }
                  callback.onSuccess(null);
                }
              }
;
              timer.schedule(RodaConstants.ACTION_TIMEOUT);
            }
            @Override public void onFailureImpl(            Throwable caught){
              if (caught instanceof NotFoundException) {
                Toast.showError(messages.moveNoSuchObject(caught.getMessage()));
              }
 else {
                callback.onFailure(caught);
              }
            }
          }
);
        }
      }
);
    }
  }
);
}