Program: 140084
Project: 140084
Buggy source:
private void addTreeListener(final Tree tree){
  tree.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      boolean con=false;
      if (e.item instanceof TreeItem) {
        TreeItem item=(TreeItem)e.item;
        if (DATA_PARAM.equals(item.getData(DATA_PARAM))) {
          tree.setMenu(null);
          return;
        }
 else         if (item.getData(INDICATOR_UNIT_KEY) != null) {
          IndicatorUnit indicatorUnit=(IndicatorUnit)item.getData(INDICATOR_UNIT_KEY);
          IndicatorEnum type=indicatorUnit.getType();
          con=IndicatorEnum.RegexpMatchingIndicatorEnum.compareTo(type) == 0 || IndicatorEnum.SqlPatternMatchingIndicatorEnum.compareTo(type) == 0;
        }
      }
      createTreeMenu(tree,con);
    }
  }
);
  tree.addTreeListener(new TreeAdapter(){
    @Override public void treeCollapsed(    TreeEvent e){
      ExpandableComposite theSuitedComposite=getTheSuitedComposite(e);
      ScrolledForm form=masterPage.getForm();
      Composite comp=masterPage.getChartComposite();
      if (theSuitedComposite != null && theSuitedComposite.isExpanded()) {
        getTheSuitedComposite(e).setExpanded(false);
      }
      comp.layout();
      form.reflow(true);
    }
    @Override public void treeExpanded(    TreeEvent e){
      ExpandableComposite theSuitedComposite=getTheSuitedComposite(e);
      ScrolledForm form=masterPage.getForm();
      Composite comp=masterPage.getChartComposite();
      if (theSuitedComposite != null && !theSuitedComposite.isExpanded()) {
        theSuitedComposite.setExpanded(true);
      }
      comp.layout();
      form.reflow(true);
    }
  }
);
}

Fixed version (ground truth):
private void addTreeListener(final Tree tree){
  tree.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      boolean con=false;
      if (e.item instanceof TreeItem) {
        TreeItem item=(TreeItem)e.item;
        if (DATA_PARAM.equals(item.getData(DATA_PARAM))) {
          tree.setMenu(null);
          return;
        }
 else         if (item.getData(INDICATOR_UNIT_KEY) != null) {
          IndicatorUnit indicatorUnit=(IndicatorUnit)item.getData(INDICATOR_UNIT_KEY);
          IndicatorEnum type=indicatorUnit.getType();
          con=IndicatorEnum.RegexpMatchingIndicatorEnum.compareTo(type) == 0 || IndicatorEnum.SqlPatternMatchingIndicatorEnum.compareTo(type) == 0;
        }
      }
      createTreeMenu(tree,con);
    }
  }
);
  tree.addTreeListener(new TreeAdapter(){
    @Override public void treeCollapsed(    TreeEvent e){
      ExpandableComposite theSuitedComposite=getTheSuitedComposite(e);
      ScrolledForm form=masterPage.getForm();
      Composite comp=masterPage.getChartComposite();
      if (theSuitedComposite != null && theSuitedComposite.isExpanded()) {
        getTheSuitedComposite(e).setExpanded(false);
      }
      comp.layout();
      form.reflow(true);
    }
    @Override public void treeExpanded(    TreeEvent e){
      ExpandableComposite theSuitedComposite=getTheSuitedComposite(e);
      ScrolledForm form=masterPage.getForm();
      Composite comp=masterPage.getChartComposite();
      if (theSuitedComposite != null && !theSuitedComposite.isExpanded()) {
        theSuitedComposite.setExpanded(true);
      }
      comp.layout();
      form.reflow(true);
    }
  }
);
  tree.addMouseListener(new MouseAdapter(){
    @Override public void mouseDoubleClick(    MouseEvent e){
      if (isDirty()) {
        masterPage.doSave(null);
      }
      TreeItem item=tree.getSelection()[0];
      if (item != null) {
        Object indicatorobj=item.getData(INDICATOR_UNIT_KEY);
        Object columnobj=item.getData(COLUMN_INDICATOR_KEY);
        if (columnobj != null && indicatorobj == null) {
          openIndicatorSelectDialog(null);
        }
 else         if (columnobj != null && indicatorobj != null) {
          openIndicatorOptionDialog(null,item);
        }
      }
    }
  }
);
}