Program: 62303
Project: 62303
Buggy source:
private TreeItem gotoDBContainer(int id,int db,String container,boolean isKey,boolean refresh){
  rootTreeItemSelected(false);
  TreeItem dbItem=findDBTreeItem(id,db);
  TreeItem dataItemSelected=null;
  if (dbItem != null) {
    dbContainerTreeItemSelected(dbItem,refresh);
    TreeItem[] dataItems=dbItem.getItems();
    if (container.length() == 0)     return dbItem;
 else {
      String[] containers=container.split("String_Node_Str");
      if (!isKey) {
        for (int i=0; i < containers.length; i++) {
          for (          TreeItem dataItem : dataItems) {
            if (dataItem.getText().equals(containers[i])) {
              tree.setSelection(dataItem);
              dbContainerTreeItemSelected(dataItem,refresh);
              dataItems=dataItem.getItems();
              dataItemSelected=dataItem;
              break;
            }
          }
        }
      }
 else {
        for (int i=0; i < containers.length - 1; i++) {
          for (          TreeItem dataItem : dataItems) {
            if (dataItem.getText().equals(containers[i])) {
              tree.setSelection(dataItem);
              dbContainerTreeItemSelected(dataItem,false);
              dataItems=dataItem.getItems();
              dataItemSelected=dataItem;
              break;
            }
          }
        }
        TableItem[] tableItems=table.getItems();
        for (        TableItem tableItem : tableItems) {
          NodeType type=(NodeType)tableItem.getData(NODE_TYPE);
          if (type != NodeType.SERVER && type != NodeType.DATABASE && type != NodeType.CONTAINER && tableItem.getText().equals(containers[containers.length - 1])) {
            table.setSelection(tableItem);
            dataItemSelected();
            break;
          }
        }
      }
    }
  }
  return dataItemSelected;
}

Fixed version (ground truth):
private TreeItem gotoDBContainer(int id,int db,String container,boolean isKey,boolean refresh){
  rootTreeItemSelected(false);
  TreeItem dbItem=findDBTreeItem(id,db);
  TreeItem dataItemSelected=dbItem;
  if (dbItem != null) {
    dbContainerTreeItemSelected(dbItem,refresh);
    TreeItem[] dataItems=dbItem.getItems();
    String[] containers=container.split("String_Node_Str");
    if (!isKey) {
      for (int i=0; i < containers.length; i++) {
        for (        TreeItem dataItem : dataItems) {
          if (dataItem.getText().equals(containers[i])) {
            tree.setSelection(dataItem);
            dbContainerTreeItemSelected(dataItem,refresh);
            dataItems=dataItem.getItems();
            dataItemSelected=dataItem;
            break;
          }
        }
      }
    }
 else {
      for (int i=0; i < containers.length - 1; i++) {
        for (        TreeItem dataItem : dataItems) {
          if (dataItem.getText().equals(containers[i])) {
            tree.setSelection(dataItem);
            dbContainerTreeItemSelected(dataItem,false);
            dataItems=dataItem.getItems();
            dataItemSelected=dataItem;
            break;
          }
        }
      }
      TableItem[] tableItems=table.getItems();
      for (      TableItem tableItem : tableItems) {
        NodeType type=(NodeType)tableItem.getData(NODE_TYPE);
        if (type != NodeType.SERVER && type != NodeType.DATABASE && type != NodeType.CONTAINER && tableItem.getText().equals(containers[containers.length - 1])) {
          table.setSelection(tableItem);
          dataItemSelected();
          break;
        }
      }
    }
  }
  return dataItemSelected;
}