Program: 188523
Project: 188523
Buggy source:
@Override public void onValueChange(ValueChangeEvent<Boolean> event){
  workflowList.clear();
  boolean noChecks=true;
  if (plugins != null) {
    PluginUtils.sortByName(plugins);
    int pluginsAdded=0;
    for (int p=0; p < plugins.size(); p++) {
      PluginInfo pluginInfo=plugins.get(p);
      if (pluginInfo != null) {
        List<String> categories=pluginInfo.getCategories();
        if (categories != null) {
          for (int i=0; i < workflowCategoryList.getWidgetCount(); i++) {
            CheckBox checkbox=(CheckBox)workflowCategoryList.getWidget(i);
            if (checkbox.getValue().booleanValue()) {
              noChecks=false;
              if (categories.contains(checkbox.getName()) && !categories.contains(RodaConstants.PLUGIN_CATEGORY_NOT_LISTABLE)) {
                Widget pluginItem=addPluginItemWidgetToWorkflowList(pluginInfo);
                if (pluginsAdded == 0) {
                  CreateActionJob.this.selectedPlugin=lookupPlugin(pluginInfo.getId());
                  pluginItem.addStyleName("String_Node_Str");
                  pluginsAdded++;
                }
              }
            }
          }
          if (noChecks) {
            if (!pluginInfo.getCategories().contains(RodaConstants.PLUGIN_CATEGORY_NOT_LISTABLE)) {
              Widget pluginItem=addPluginItemWidgetToWorkflowList(pluginInfo);
              if (p == 0) {
                CreateActionJob.this.selectedPlugin=lookupPlugin(pluginInfo.getId());
                pluginItem.addStyleName("String_Node_Str");
              }
            }
          }
        }
      }
    }
  }
  updateWorkflowOptions();
}

Fixed version (ground truth):
@Override public void onValueChange(ValueChangeEvent<Boolean> event){
  workflowList.clear();
  boolean noChecks=true;
  if (plugins != null) {
    PluginUtils.sortByName(plugins);
    List<String> pluginsAdded=new ArrayList<String>();
    for (int p=0; p < plugins.size(); p++) {
      PluginInfo pluginInfo=plugins.get(p);
      if (pluginInfo != null) {
        List<String> categories=pluginInfo.getCategories();
        if (categories != null) {
          for (int i=0; i < workflowCategoryList.getWidgetCount(); i++) {
            CheckBox checkbox=(CheckBox)workflowCategoryList.getWidget(i);
            if (checkbox.getValue().booleanValue()) {
              noChecks=false;
              if (categories.contains(checkbox.getName()) && !categories.contains(RodaConstants.PLUGIN_CATEGORY_NOT_LISTABLE) && !pluginsAdded.contains(pluginInfo.getId())) {
                Widget pluginItem=addPluginItemWidgetToWorkflowList(pluginInfo);
                if (pluginsAdded.isEmpty()) {
                  CreateActionJob.this.selectedPlugin=lookupPlugin(pluginInfo.getId());
                  pluginItem.addStyleName("String_Node_Str");
                }
                pluginsAdded.add(pluginInfo.getId());
              }
            }
          }
          if (noChecks) {
            if (!pluginInfo.getCategories().contains(RodaConstants.PLUGIN_CATEGORY_NOT_LISTABLE)) {
              Widget pluginItem=addPluginItemWidgetToWorkflowList(pluginInfo);
              if (p == 0) {
                CreateActionJob.this.selectedPlugin=lookupPlugin(pluginInfo.getId());
                pluginItem.addStyleName("String_Node_Str");
              }
            }
          }
        }
      }
    }
  }
  updateWorkflowOptions();
}