Program: 17401
Project: 17401
Buggy source:
/** 
 * This method builds the top navigation, it will be from an XML file so that the actions can be modified
 * @param parent
 * @return
 */
private Composite makeTabs(Composite parent,Composite editor){
  loadToolbars();
  CTabFolder cTabFolder1=new CTabFolder(parent,SWT.NONE);
  NodeList tabs=toolbarXML.getElementsByTagName("String_Node_Str");
  for (int t=0; t < tabs.getLength(); t++) {
    Node tabgroup=tabs.item(t);
    String tabname=tabgroup.getAttributes().getNamedItem("String_Node_Str").getNodeValue();
    CTabItem cTabItem1=new CTabItem(cTabFolder1,SWT.FILL);
    cTabItem1.setText(tabname);
    ToolBar toolBar1=new ToolBar(cTabFolder1,SWT.FILL | SWT.HORIZONTAL);
    cTabItem1.setControl(toolBar1);
    for (Node child=tabgroup.getFirstChild(); child != null; child=child.getNextSibling()) {
      if (child.getNodeType() == 1) {
        NamedNodeMap attribs=child.getAttributes();
        String buttonName=attribs.getNamedItem("String_Node_Str").getNodeValue();
        String buttonType=attribs.getNamedItem("String_Node_Str").getNodeValue();
        String buttonValue=attribs.getNamedItem("String_Node_Str").getNodeValue();
        ToolItem toolItem1=new ToolItem(toolBar1,SWT.NONE);
        toolItem1.setData(buttonValue);
        if (attribs.getNamedItem("String_Node_Str") != null) {
          toolItem1.setToolTipText(buttonName);
          toolItem1.setImage(CFPluginImages.get(attribs.getNamedItem("String_Node_Str").getNodeValue()));
        }
 else {
          toolItem1.setText(buttonName);
        }
        if (buttonType.equals("String_Node_Str")) {
          toolItem1.addSelectionListener(new SelectionAdapter(){
            public void widgetSelected(            SelectionEvent evt){
              ToolItem item=(ToolItem)evt.getSource();
              EditTagAction ecta=new EditTagAction(item.getData().toString(),shell);
              ecta.run();
            }
          }
);
        }
 else         if (buttonType.equals("String_Node_Str")) {
          toolItem1.addSelectionListener(new SelectionAdapter(){
            public void widgetSelected(            SelectionEvent evt){
              ToolItem item=(ToolItem)evt.getSource();
              DynamicActionRunner darunner=new DynamicActionRunner(item.getData().toString());
            }
          }
);
        }
 else         if (buttonType.equals("String_Node_Str")) {
          toolItem1.addSelectionListener(new SelectionAdapter(){
            public void widgetSelected(            SelectionEvent evt){
              ToolItem item=(ToolItem)evt.getSource();
              InsertSnippetAction iSA=new InsertSnippetAction(item.getData().toString(),shell);
              iSA.run();
            }
          }
);
        }
      }
    }
  }
  cTabFolder1.setSelection(0);
  cTabFolder1.moveAbove(editor);
  return parent;
}

Fixed version (ground truth):
/** 
 * This method builds the top navigation, it will be from an XML file so that the actions can be modified
 * @param parent
 * @return
 */
private Composite makeTabs(Composite parent,Composite editor){
  loadToolbars();
  CTabFolder cTabFolder1=new CTabFolder(parent,SWT.NONE);
  NodeList tabs=toolbarXML.getElementsByTagName("String_Node_Str");
  for (int t=0; t < tabs.getLength(); t++) {
    Node tabgroup=tabs.item(t);
    String tabname=tabgroup.getAttributes().getNamedItem("String_Node_Str").getNodeValue();
    CTabItem cTabItem1=new CTabItem(cTabFolder1,SWT.FILL);
    cTabItem1.setText(tabname);
    ToolBar toolBar1=new ToolBar(cTabFolder1,SWT.FILL | SWT.HORIZONTAL);
    cTabItem1.setControl(toolBar1);
    for (Node child=tabgroup.getFirstChild(); child != null; child=child.getNextSibling()) {
      if (child.getNodeType() == 1) {
        NamedNodeMap attribs=child.getAttributes();
        String buttonName=attribs.getNamedItem("String_Node_Str").getNodeValue();
        String buttonType=attribs.getNamedItem("String_Node_Str").getNodeValue();
        String buttonValue=attribs.getNamedItem("String_Node_Str").getNodeValue();
        ToolItem toolItem1=new ToolItem(toolBar1,SWT.NONE);
        toolItem1.setData(buttonValue);
        if (attribs.getNamedItem("String_Node_Str") != null) {
          toolItem1.setToolTipText(buttonName);
          toolItem1.setImage(CFPluginImages.get(attribs.getNamedItem("String_Node_Str").getNodeValue()));
        }
 else {
          toolItem1.setText(buttonName);
        }
        if (buttonType.equals("String_Node_Str")) {
          toolItem1.addSelectionListener(new SelectionAdapter(){
            public void widgetSelected(            SelectionEvent evt){
              ToolItem item=(ToolItem)evt.getSource();
              InsertTagAction ecta=new InsertTagAction(item.getData().toString(),shell);
              ecta.run();
            }
          }
);
        }
 else         if (buttonType.equals("String_Node_Str")) {
          toolItem1.addSelectionListener(new SelectionAdapter(){
            public void widgetSelected(            SelectionEvent evt){
              ToolItem item=(ToolItem)evt.getSource();
              DynamicActionRunner darunner=new DynamicActionRunner(item.getData().toString());
            }
          }
);
        }
 else         if (buttonType.equals("String_Node_Str")) {
          toolItem1.addSelectionListener(new SelectionAdapter(){
            public void widgetSelected(            SelectionEvent evt){
              ToolItem item=(ToolItem)evt.getSource();
              InsertSnippetAction iSA=new InsertSnippetAction(item.getData().toString(),shell);
              iSA.run();
            }
          }
);
        }
      }
    }
  }
  cTabFolder1.setSelection(0);
  cTabFolder1.moveAbove(editor);
  return parent;
}