Program: 14554
Project: 14554
Buggy source:
@Override public void saveValue(ArrayList<String> keys,ArrayList<HasValueWidget> values){
  if (values == null || values.size() < 1 || this.currentSelected == null) {
    LOG.log(Level.WARNING,"String_Node_Str");
  }
  LOG.log(Level.INFO,"String_Node_Str" + values);
  final SearchResultRow result=new SearchResultRow();
  result.setExtraFieldDescs(this.currentSelected.getExtraFieldDescs());
  for (int i=0; i < values.size(); i++) {
    result.addField(values.get(i).getValue());
  }
  this.clientFactory.getShellView().getFooterView().showStatus(StatusType.LOADING,"String_Node_Str",0);
  this.clientFactory.getBackendService().setVmType(this.clientFactory.getLocalSession().getSession(),result,new AsyncCallback<Void>(){
    @Override public void onFailure(    Throwable cause){
      ActivityUtil.logoutForInvalidSession(clientFactory,cause);
      clientFactory.getShellView().getFooterView().showStatus(StatusType.ERROR,"String_Node_Str" + cause.getMessage(),FooterView.DEFAULT_STATUS_CLEAR_DELAY);
      clientFactory.getShellView().getLogView().log(LogType.ERROR,"String_Node_Str" + cause.getMessage());
    }
    @Override public void onSuccess(    Void arg0){
      clientFactory.getShellView().getFooterView().showStatus(StatusType.NONE,"String_Node_Str",FooterView.DEFAULT_STATUS_CLEAR_DELAY);
      clientFactory.getShellView().getLogView().log(LogType.INFO,"String_Node_Str" + result);
      clientFactory.getShellView().getDetailView().disableSave();
      reloadCurrentRange();
    }
  }
);
}

Fixed version (ground truth):
@Override public void saveValue(ArrayList<String> keys,ArrayList<HasValueWidget> values){
  if (values == null || values.size() < 1 || this.currentSelected == null) {
    clientFactory.getShellView().getFooterView().showStatus(StatusType.ERROR,"String_Node_Str",FooterView.DEFAULT_STATUS_CLEAR_DELAY);
    LOG.log(Level.WARNING,"String_Node_Str");
    return;
  }
  LOG.log(Level.INFO,"String_Node_Str" + values);
  final SearchResultRow result=new SearchResultRow();
  result.setExtraFieldDescs(this.currentSelected.getExtraFieldDescs());
  for (int i=0; i < values.size(); i++) {
    result.addField(values.get(i).getValue());
  }
  this.clientFactory.getShellView().getFooterView().showStatus(StatusType.LOADING,"String_Node_Str",0);
  this.clientFactory.getBackendService().setVmType(this.clientFactory.getLocalSession().getSession(),result,new AsyncCallback<Void>(){
    @Override public void onFailure(    Throwable cause){
      ActivityUtil.logoutForInvalidSession(clientFactory,cause);
      clientFactory.getShellView().getFooterView().showStatus(StatusType.ERROR,"String_Node_Str" + cause.getMessage(),FooterView.DEFAULT_STATUS_CLEAR_DELAY);
      clientFactory.getShellView().getLogView().log(LogType.ERROR,"String_Node_Str" + cause.getMessage());
    }
    @Override public void onSuccess(    Void arg0){
      clientFactory.getShellView().getFooterView().showStatus(StatusType.NONE,"String_Node_Str",FooterView.DEFAULT_STATUS_CLEAR_DELAY);
      clientFactory.getShellView().getLogView().log(LogType.INFO,"String_Node_Str" + result);
      clientFactory.getShellView().getDetailView().disableSave();
      reloadCurrentRange();
    }
  }
);
}