Program: 140593
Project: 140593
Buggy source:
protected void addListeners(){
  typeName.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      String filterString=((Text)e.getSource()).getText();
      if (filterString != "String_Node_Str") {
        filter.setTypeName(filterString);
        analysisTypes.addFilter(filter);
      }
 else {
        ViewerFilter[] filters=analysisTypes.getFilters();
        for (        ViewerFilter one : filters) {
          analysisTypes.removeFilter(one);
        }
        analysisTypes.refresh(true);
      }
    }
  }
);
  typeName.addMouseListener(new MouseAdapter(){
    @Override public void mouseDown(    MouseEvent e){
      typeName.setText("String_Node_Str");
    }
  }
);
  analysisTypes.addTreeListener(new ITreeViewerListener(){
    public void treeCollapsed(    TreeExpansionEvent event){
    }
    public void treeExpanded(    TreeExpansionEvent event){
      TreeViewer viewer=(TreeViewer)event.getSource();
      if (viewer.getSelection() == null) {
        return;
      }
      AnalysisTypeNode node=(AnalysisTypeNode)((IStructuredSelection)viewer.getSelection()).getFirstElement();
      updateAnalysisNode(node);
    }
  }
);
  analysisTypes.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      AnalysisTypeNode node=(AnalysisTypeNode)((IStructuredSelection)event.getSelection()).getFirstElement();
      if (node != null) {
        updateAnalysisNode(node);
      }
    }
  }
);
  analysisTypes.addDoubleClickListener(new IDoubleClickListener(){
    public void doubleClick(    DoubleClickEvent event){
      AnalysisTypeNode node=(AnalysisTypeNode)((IStructuredSelection)event.getSelection()).getFirstElement();
      if (node.getParent() == null) {
        analysisTypes.expandToLevel(node,1);
      }
 else {
        advanceToNextPageOrFinish();
      }
    }
  }
);
}

Fixed version (ground truth):
protected void addListeners(){
  typeName.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      String filterString=((Text)e.getSource()).getText();
      if (filterString != "String_Node_Str") {
        filter.setTypeName(filterString);
        analysisTypes.addFilter(filter);
      }
 else {
        ViewerFilter[] filters=analysisTypes.getFilters();
        for (        ViewerFilter one : filters) {
          analysisTypes.removeFilter(one);
        }
        analysisTypes.refresh(true);
      }
    }
  }
);
  typeName.addMouseListener(new MouseAdapter(){
    @Override public void mouseDown(    MouseEvent e){
      typeName.setText("String_Node_Str");
    }
  }
);
  analysisTypes.addTreeListener(new ITreeViewerListener(){
    public void treeCollapsed(    TreeExpansionEvent event){
    }
    public void treeExpanded(    TreeExpansionEvent event){
      TreeViewer viewer=(TreeViewer)event.getSource();
      if (viewer.getSelection() == null) {
        return;
      }
      AnalysisTypeNode node=(AnalysisTypeNode)((IStructuredSelection)viewer.getSelection()).getFirstElement();
      if (node == null) {
        return;
      }
 else {
        updateAnalysisNode(node);
      }
    }
  }
);
  analysisTypes.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      AnalysisTypeNode node=(AnalysisTypeNode)((IStructuredSelection)event.getSelection()).getFirstElement();
      if (node != null) {
        updateAnalysisNode(node);
      }
    }
  }
);
  analysisTypes.addDoubleClickListener(new IDoubleClickListener(){
    public void doubleClick(    DoubleClickEvent event){
      AnalysisTypeNode node=(AnalysisTypeNode)((IStructuredSelection)event.getSelection()).getFirstElement();
      if (node.getParent() == null) {
        analysisTypes.expandToLevel(node,1);
      }
 else {
        advanceToNextPageOrFinish();
      }
    }
  }
);
}