Program: 117727
Project: 117727
Buggy source:
@Override public Object[] getViewMenuStruct(){
  JMenu addMenu=new SimpleMenu("String_Node_Str",UIBox.getIcon("String_Node_Str"));
  ArrayList<ArrayList> availableTopicPanels=wandora.topicPanelManager.getAvailableTopicPanels();
  ArrayList addTopicPanelMenuStruct=new ArrayList();
  for (  ArrayList panelData : availableTopicPanels) {
    try {
      Class panelClass=Class.forName((String)panelData.get(0));
      if (!this.getClass().equals(panelClass)) {
        addTopicPanelMenuStruct.add((String)panelData.get(1));
        addTopicPanelMenuStruct.add((Icon)panelData.get(2));
        addTopicPanelMenuStruct.add(new AddDockable(panelClass));
      }
    }
 catch (    Exception e) {
    }
  }
  UIBox.attachMenu(addMenu,addTopicPanelMenuStruct.toArray(new Object[]{}),wandora);
  ArrayList struct=new ArrayList();
  struct.add(addMenu);
  if (dockedTopicPanels != null && !dockedTopicPanels.isEmpty()) {
    struct.add("String_Node_Str");
    for (    Dockable dockable : dockedTopicPanels.keySet()) {
      TopicPanel tp=dockedTopicPanels.get(dockable);
      if (tp != null) {
        String label=tp.getName();
        label=label + getAdditionalLabel(tp);
        JMenu topicPanelMenu=new SimpleMenu(label,tp.getIcon());
        ArrayList subStruct=new ArrayList();
        subStruct.add("String_Node_Str");
        subStruct.add(UIBox.getIcon("String_Node_Str"));
        subStruct.add(new SelectDockable(dockable));
        if (dockable.equals(station.getFullScreen())) {
          subStruct.add("String_Node_Str");
          subStruct.add(UIBox.getIcon("String_Node_Str"));
        }
 else {
          subStruct.add("String_Node_Str");
          subStruct.add(UIBox.getIcon("String_Node_Str"));
        }
        subStruct.add(new MaximizeDockable(dockable));
        subStruct.add("String_Node_Str");
        Object[] subMenuStruct=tp.getViewMenuStruct();
        if (subMenuStruct != null) {
          if (subMenuStruct.length > 0) {
            for (            Object subMenuItem : subMenuStruct) {
              subStruct.add(subMenuItem);
            }
            subStruct.add("String_Node_Str");
          }
        }
        subStruct.add("String_Node_Str");
        subStruct.add(UIBox.getIcon("String_Node_Str"));
        subStruct.add(new DeleteDockable(dockable));
        UIBox.attachMenu(topicPanelMenu,subStruct.toArray(),wandora);
        struct.add(topicPanelMenu);
      }
    }
    struct.add("String_Node_Str");
    struct.add("String_Node_Str");
    struct.add(new DeleteCurrentDockable());
    struct.add("String_Node_Str");
    struct.add(new DeleteAllDockables());
  }
  return struct.toArray();
}

Fixed version (ground truth):
@Override public Object[] getViewMenuStruct(){
  JMenu addMenu=new SimpleMenu("String_Node_Str",UIBox.getIcon("String_Node_Str"));
  ArrayList<ArrayList> availableTopicPanels=wandora.topicPanelManager.getAvailableTopicPanels();
  ArrayList addTopicPanelMenuStruct=new ArrayList();
  for (  ArrayList panelData : availableTopicPanels) {
    try {
      Class panelClass=Class.forName((String)panelData.get(0));
      if (!this.getClass().equals(panelClass)) {
        addTopicPanelMenuStruct.add((String)panelData.get(1));
        addTopicPanelMenuStruct.add((Icon)panelData.get(2));
        addTopicPanelMenuStruct.add(new AddDockable(panelClass));
      }
    }
 catch (    Exception e) {
    }
  }
  UIBox.attachMenu(addMenu,addTopicPanelMenuStruct.toArray(new Object[]{}),wandora);
  ArrayList struct=new ArrayList();
  struct.add(addMenu);
  if (dockedTopicPanels != null && !dockedTopicPanels.isEmpty()) {
    struct.add("String_Node_Str");
    for (    Dockable dockable : dockedTopicPanels.keySet()) {
      TopicPanel tp=dockedTopicPanels.get(dockable);
      if (tp != null) {
        String label=tp.getName();
        label=label + getAdditionalLabel(tp);
        JMenu topicPanelMenu=new SimpleMenu(label,tp.getIcon());
        ArrayList subStruct=new ArrayList();
        Object[] subMenuStruct=tp.getViewMenuStruct();
        if (subMenuStruct != null) {
          if (subMenuStruct.length > 0) {
            for (            Object subMenuItem : subMenuStruct) {
              subStruct.add(subMenuItem);
            }
            subStruct.add("String_Node_Str");
          }
        }
        subStruct.add("String_Node_Str");
        subStruct.add(UIBox.getIcon("String_Node_Str"));
        subStruct.add(new SelectDockable(dockable));
        if (dockable.equals(station.getFullScreen())) {
          subStruct.add("String_Node_Str");
          subStruct.add(UIBox.getIcon("String_Node_Str"));
        }
 else {
          subStruct.add("String_Node_Str");
          subStruct.add(UIBox.getIcon("String_Node_Str"));
        }
        subStruct.add(new MaximizeDockable(dockable));
        subStruct.add("String_Node_Str");
        subStruct.add(UIBox.getIcon("String_Node_Str"));
        subStruct.add(new DeleteDockable(dockable));
        UIBox.attachMenu(topicPanelMenu,subStruct.toArray(),wandora);
        struct.add(topicPanelMenu);
      }
    }
    struct.add("String_Node_Str");
    struct.add("String_Node_Str");
    struct.add(new DeleteCurrentDockable());
    struct.add("String_Node_Str");
    struct.add(new DeleteAllDockables());
  }
  return struct.toArray();
}