Program: 188348
Project: 188348
Buggy source:
private Widget addPluginItemWidgetToWorkflowList(PluginInfo pluginInfo){
  FlowPanel panel=new FlowPanel();
  panel.addStyleName("String_Node_Str");
  panel.getElement().setAttribute("String_Node_Str",pluginInfo.getId());
  panel.addDomHandler(new ClickHandler(){
    @Override public void onClick(    ClickEvent event){
      FlowPanel panel=(FlowPanel)event.getSource();
      String selectedPluginId=panel.getElement().getAttribute("String_Node_Str");
      for (int i=0; i < workflowList.getWidgetCount(); i++) {
        Widget panelWidget=workflowList.getWidget(i);
        panelWidget.removeStyleName("String_Node_Str");
      }
      if (selectedPluginId != null) {
        CreateSelectedJob.this.selectedPlugin=lookupPlugin(selectedPluginId);
        panel.addStyleName("String_Node_Str");
      }
      updateWorkflowOptions();
    }
  }
,ClickEvent.getType());
  FlowPanel itemImage=new FlowPanel();
  itemImage.addStyleName("String_Node_Str");
  itemImage.addStyleName("String_Node_Str");
  if (pluginInfo.getCategories().isEmpty()) {
    itemImage.addStyleName("String_Node_Str");
  }
 else {
    itemImage.addStyleName("String_Node_Str" + pluginInfo.getCategories().get(0));
    itemImage.setTitle(pluginInfo.getCategories().get(0));
  }
  Label label=new Label();
  String labelContent=messages.pluginLabel(pluginInfo.getName(),pluginInfo.getVersion());
  label.setText(labelContent);
  label.setTitle(labelContent);
  label.addStyleName("String_Node_Str");
  panel.add(itemImage);
  panel.add(label);
  workflowList.add(panel);
  return panel;
}

Fixed version (ground truth):
private Widget addPluginItemWidgetToWorkflowList(PluginInfo pluginInfo){
  FlowPanel panel=new FlowPanel();
  panel.addStyleName("String_Node_Str");
  panel.getElement().setAttribute("String_Node_Str",pluginInfo.getId());
  panel.addDomHandler(new ClickHandler(){
    @Override public void onClick(    ClickEvent event){
      FlowPanel panel=(FlowPanel)event.getSource();
      String selectedPluginId=panel.getElement().getAttribute("String_Node_Str");
      for (int i=0; i < workflowList.getWidgetCount(); i++) {
        Widget panelWidget=workflowList.getWidget(i);
        panelWidget.removeStyleName("String_Node_Str");
      }
      if (selectedPluginId != null) {
        CreateSelectedJob.this.selectedPlugin=lookupPlugin(selectedPluginId);
        panel.addStyleName("String_Node_Str");
      }
      updateWorkflowOptions();
    }
  }
,ClickEvent.getType());
  FlowPanel itemImage=new FlowPanel();
  itemImage.addStyleName("String_Node_Str");
  itemImage.addStyleName("String_Node_Str");
  if (pluginInfo.getCategories().isEmpty()) {
    itemImage.addStyleName("String_Node_Str");
  }
 else {
    itemImage.addStyleName("String_Node_Str" + pluginInfo.getCategories().get(0));
    itemImage.setTitle(pluginInfo.getCategories().get(0));
  }
  Label label=new Label();
  String labelContent=messages.pluginLabelWithVersion(pluginInfo.getName(),pluginInfo.getVersion());
  label.setText(labelContent);
  label.setTitle(labelContent);
  label.addStyleName("String_Node_Str");
  panel.add(itemImage);
  panel.add(label);
  workflowList.add(panel);
  return panel;
}