Program: 67776
Project: 67776
Buggy source:
/** 
 * Creates the composite, for displaying the list of available db objects
 * @param parent
 */
private Control createDBMetaDataSelectionComposite(Composite parent){
  boolean supportsSchema=JdbcMetaDataProvider.getInstance().isSupportSchema();
  boolean supportsProcedure=JdbcMetaDataProvider.getInstance().isSupportProcedure();
  Composite tablescomposite=new Composite(parent,SWT.NONE);
  GridLayout layout=new GridLayout();
  tablescomposite.setLayout(layout);
  GridData data=new GridData(GridData.FILL_VERTICAL);
  data.grabExcessVerticalSpace=true;
  tablescomposite.setLayoutData(data);
  Label dataSourceLabel=new Label(tablescomposite,SWT.LEFT);
  dataSourceLabel.setText(JdbcPlugin.getResourceString("String_Node_Str"));
  GridData labelData=new GridData();
  dataSourceLabel.setLayoutData(labelData);
  availableDbObjectsTree=new Tree(tablescomposite,SWT.BORDER | SWT.MULTI);
  GridData treeData=new GridData(GridData.FILL_BOTH);
  treeData.grabExcessHorizontalSpace=true;
  treeData.grabExcessVerticalSpace=true;
  treeData.heightHint=150;
  availableDbObjectsTree.setLayoutData(treeData);
  availableDbObjectsTree.addMouseListener(new MouseAdapter(){
    public void mouseDoubleClick(    MouseEvent e){
      String text=getTextToInsert();
      if (text.length() > 0) {
        insertText(text);
      }
    }
  }
);
  createSchemaFilterComposite(supportsSchema,supportsProcedure,tablescomposite);
  createSQLOptionGroup(tablescomposite);
  addDragSupportToTree();
  addFetchDbObjectListener(metadataBidiFormatStr);
  return tablescomposite;
}

Fixed version (ground truth):
/** 
 * Creates the composite, for displaying the list of available db objects
 * @param parent
 */
private Control createDBMetaDataSelectionComposite(Composite parent){
  boolean supportsSchema=JdbcMetaDataProvider.getInstance().isSupportSchema();
  boolean supportsProcedure=JdbcMetaDataProvider.getInstance().isSupportProcedure();
  Composite tablescomposite=new Composite(parent,SWT.NONE);
  GridLayout layout=new GridLayout();
  tablescomposite.setLayout(layout);
  GridData data=new GridData(GridData.FILL_VERTICAL);
  data.grabExcessVerticalSpace=true;
  tablescomposite.setLayoutData(data);
  Label dataSourceLabel=new Label(tablescomposite,SWT.LEFT);
  dataSourceLabel.setText(JdbcPlugin.getResourceString("String_Node_Str"));
  GridData labelData=new GridData();
  dataSourceLabel.setLayoutData(labelData);
  availableDbObjectsTree=new Tree(tablescomposite,SWT.BORDER | SWT.MULTI);
  GridData treeData=new GridData(GridData.FILL_BOTH);
  treeData.grabExcessHorizontalSpace=true;
  treeData.grabExcessVerticalSpace=true;
  treeData.heightHint=150;
  availableDbObjectsTree.setLayoutData(treeData);
  createObjectTreeMenu();
  availableDbObjectsTree.addMenuDetectListener(new MenuDetectListener(){
    public void menuDetected(    MenuDetectEvent e){
      if (availableDbObjectsTree.getSelectionCount() > 0) {
        TreeItem item=availableDbObjectsTree.getSelection()[0];
        if (item.getParentItem() != null) {
          treeMenu.setVisible(true);
          treeMenu.setLocation(e.x,e.y);
        }
      }
    }
  }
);
  availableDbObjectsTree.addMouseListener(new MouseAdapter(){
    public void mouseDoubleClick(    MouseEvent e){
      insertTreeItemText();
    }
  }
);
  createSchemaFilterComposite(supportsSchema,supportsProcedure,tablescomposite);
  createSQLOptionGroup(tablescomposite);
  addDragSupportToTree();
  addFetchDbObjectListener(metadataBidiFormatStr);
  return tablescomposite;
}