Program: 188524
Project: 188524
Buggy source:
public void configurePlugins(){
  List<String> categoriesOnListBox=new ArrayList<String>();
  if (plugins != null) {
    PluginUtils.sortByName(plugins);
    for (int p=0; p < plugins.size(); p++) {
      PluginInfo pluginInfo=plugins.get(p);
      if (pluginInfo != null) {
        List<String> pluginCategories=pluginInfo.getCategories();
        if (pluginCategories != null && !pluginCategories.contains(RodaConstants.PLUGIN_CATEGORY_NOT_LISTABLE)) {
          for (          String category : pluginCategories) {
            if (!categoriesOnListBox.contains(category)) {
              CheckBox box=new CheckBox();
              box.setText(messages.showPluginCategories(category));
              box.setName(category);
              box.addStyleName("String_Node_Str");
              box.addValueChangeHandler(new ValueChangeHandler<Boolean>(){
                @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();
                }
              }
);
              workflowCategoryList.add(box);
              categoriesOnListBox.add(category);
            }
          }
          if (!pluginCategories.contains(RodaConstants.PLUGIN_CATEGORY_NOT_LISTABLE)) {
            Widget pluginItem=addPluginItemWidgetToWorkflowList(pluginInfo);
            if (p == 0) {
              CreateActionJob.this.selectedPlugin=lookupPlugin(pluginInfo.getId());
              pluginItem.addStyleName("String_Node_Str");
            }
          }
        }
      }
 else {
        GWT.log("String_Node_Str");
      }
    }
    updateWorkflowOptions();
  }
}

Fixed version (ground truth):
public void configurePlugins(){
  List<String> categoriesOnListBox=new ArrayList<String>();
  if (plugins != null) {
    PluginUtils.sortByName(plugins);
    for (int p=0; p < plugins.size(); p++) {
      PluginInfo pluginInfo=plugins.get(p);
      if (pluginInfo != null) {
        List<String> pluginCategories=pluginInfo.getCategories();
        if (pluginCategories != null && !pluginCategories.contains(RodaConstants.PLUGIN_CATEGORY_NOT_LISTABLE)) {
          for (          String category : pluginCategories) {
            if (!categoriesOnListBox.contains(category)) {
              CheckBox box=new CheckBox();
              box.setText(messages.showPluginCategories(category));
              box.setName(category);
              box.addStyleName("String_Node_Str");
              box.addValueChangeHandler(new ValueChangeHandler<Boolean>(){
                @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();
                }
              }
);
              workflowCategoryList.add(box);
              categoriesOnListBox.add(category);
            }
          }
          if (!pluginCategories.contains(RodaConstants.PLUGIN_CATEGORY_NOT_LISTABLE)) {
            Widget pluginItem=addPluginItemWidgetToWorkflowList(pluginInfo);
            if (p == 0) {
              CreateActionJob.this.selectedPlugin=lookupPlugin(pluginInfo.getId());
              pluginItem.addStyleName("String_Node_Str");
            }
          }
        }
      }
 else {
        GWT.log("String_Node_Str");
      }
    }
    updateWorkflowOptions();
  }
}