Program: 58119
Project: 58119
Buggy source:
private void addGeneContextMenu(){
  final Menu menu=new Menu(geneTable.getShell(),SWT.POP_UP);
  geneTable.setMenu(menu);
  menu.addListener(SWT.Show,new Listener(){
    @Override public void handleEvent(    Event event){
      MenuItem[] menuItems=menu.getItems();
      for (int i=0; i < menuItems.length; i++) {
        menuItems[i].dispose();
      }
      for (      final TableItem tableItem : geneTable.getSelection()) {
        if (tableItem.getText(0).equals("String_Node_Str")) {
          MenuItem openInBrowserMenuItem=new MenuItem(menu,SWT.PUSH);
          openInBrowserMenuItem.setText("String_Node_Str");
          openInBrowserMenuItem.setImage(generalManager.getResourceLoader().getImage(geneTable.getDisplay(),"String_Node_Str"));
          openInBrowserMenuItem.addSelectionListener(new SelectionAdapter(){
            @Override public void widgetSelected(            SelectionEvent e){
              searchViewMediator.selectGeneSystemWide(dataDomain.getContentIDType(),(Integer)tableItem.getData());
              try {
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("String_Node_Str");
              }
 catch (              PartInitException e1) {
                e1.printStackTrace();
              }
            }
          }
);
          MenuItem loadPathwayInBucketMenuItem=new MenuItem(menu,SWT.PUSH);
          loadPathwayInBucketMenuItem.setText("String_Node_Str");
          loadPathwayInBucketMenuItem.setImage(generalManager.getResourceLoader().getImage(geneTable.getDisplay(),"String_Node_Str"));
          loadPathwayInBucketMenuItem.addSelectionListener(new SelectionAdapter(){
            @Override public void widgetSelected(            SelectionEvent e){
              searchViewMediator.loadPathwayByGene((Integer)tableItem.getData());
            }
          }
);
          MenuItem loadGeneInHeatMapMenuItem=new MenuItem(menu,SWT.PUSH);
          loadGeneInHeatMapMenuItem.setText("String_Node_Str");
          loadGeneInHeatMapMenuItem.setImage(generalManager.getResourceLoader().getImage(geneTable.getDisplay(),"String_Node_Str"));
          loadGeneInHeatMapMenuItem.addSelectionListener(new SelectionAdapter(){
            @Override public void widgetSelected(            SelectionEvent e){
              searchViewMediator.selectGeneSystemWide(dataDomain.getContentIDType(),(Integer)tableItem.getData());
              try {
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("String_Node_Str");
              }
 catch (              PartInitException e1) {
                e1.printStackTrace();
              }
            }
          }
);
          MenuItem loadGeneInParallelCoordinatesMenuItem=new MenuItem(menu,SWT.PUSH);
          loadGeneInParallelCoordinatesMenuItem.setText("String_Node_Str");
          loadGeneInParallelCoordinatesMenuItem.setImage(generalManager.getResourceLoader().getImage(geneTable.getDisplay(),"String_Node_Str"));
          loadGeneInParallelCoordinatesMenuItem.addSelectionListener(new SelectionAdapter(){
            @Override public void widgetSelected(            SelectionEvent e){
              searchViewMediator.selectGeneSystemWide(dataDomain.getContentIDType(),(Integer)tableItem.getData());
              try {
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("String_Node_Str");
              }
 catch (              PartInitException e1) {
                e1.printStackTrace();
              }
            }
          }
);
        }
 else {
          MenuItem openInBrowserMenuItem=new MenuItem(menu,SWT.PUSH);
          openInBrowserMenuItem.setText("String_Node_Str");
        }
      }
    }
  }
);
}

Fixed version (ground truth):
private void addGeneContextMenu(){
  final Menu menu=new Menu(geneTable.getShell(),SWT.POP_UP);
  geneTable.setMenu(menu);
  menu.addListener(SWT.Show,new Listener(){
    @Override public void handleEvent(    Event event){
      MenuItem[] menuItems=menu.getItems();
      for (int i=0; i < menuItems.length; i++) {
        menuItems[i].dispose();
      }
      for (      final TableItem tableItem : geneTable.getSelection()) {
        if (tableItem.getText(0).equals("String_Node_Str")) {
          MenuItem openInBrowserMenuItem=new MenuItem(menu,SWT.PUSH);
          openInBrowserMenuItem.setText("String_Node_Str");
          openInBrowserMenuItem.setImage(generalManager.getResourceLoader().getImage(geneTable.getDisplay(),"String_Node_Str"));
          openInBrowserMenuItem.addSelectionListener(new SelectionAdapter(){
            @Override public void widgetSelected(            SelectionEvent e){
              searchViewMediator.selectGeneSystemWide(dataDomain.getPrimaryContentMappingType(),(Integer)tableItem.getData());
              try {
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("String_Node_Str");
              }
 catch (              PartInitException e1) {
                e1.printStackTrace();
              }
            }
          }
);
          MenuItem loadPathwayInBucketMenuItem=new MenuItem(menu,SWT.PUSH);
          loadPathwayInBucketMenuItem.setText("String_Node_Str");
          loadPathwayInBucketMenuItem.setImage(generalManager.getResourceLoader().getImage(geneTable.getDisplay(),"String_Node_Str"));
          loadPathwayInBucketMenuItem.addSelectionListener(new SelectionAdapter(){
            @Override public void widgetSelected(            SelectionEvent e){
              searchViewMediator.loadPathwayByGene((Integer)tableItem.getData());
            }
          }
);
          MenuItem loadGeneInHeatMapMenuItem=new MenuItem(menu,SWT.PUSH);
          loadGeneInHeatMapMenuItem.setText("String_Node_Str");
          loadGeneInHeatMapMenuItem.setImage(generalManager.getResourceLoader().getImage(geneTable.getDisplay(),"String_Node_Str"));
          loadGeneInHeatMapMenuItem.addSelectionListener(new SelectionAdapter(){
            @Override public void widgetSelected(            SelectionEvent e){
              searchViewMediator.selectGeneSystemWide(dataDomain.getPrimaryContentMappingType(),(Integer)tableItem.getData());
              try {
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("String_Node_Str");
              }
 catch (              PartInitException e1) {
                e1.printStackTrace();
              }
            }
          }
);
          MenuItem loadGeneInParallelCoordinatesMenuItem=new MenuItem(menu,SWT.PUSH);
          loadGeneInParallelCoordinatesMenuItem.setText("String_Node_Str");
          loadGeneInParallelCoordinatesMenuItem.setImage(generalManager.getResourceLoader().getImage(geneTable.getDisplay(),"String_Node_Str"));
          loadGeneInParallelCoordinatesMenuItem.addSelectionListener(new SelectionAdapter(){
            @Override public void widgetSelected(            SelectionEvent e){
              searchViewMediator.selectGeneSystemWide(dataDomain.getPrimaryContentMappingType(),(Integer)tableItem.getData());
              try {
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("String_Node_Str");
              }
 catch (              PartInitException e1) {
                e1.printStackTrace();
              }
            }
          }
);
        }
 else {
          MenuItem openInBrowserMenuItem=new MenuItem(menu,SWT.PUSH);
          openInBrowserMenuItem.setText("String_Node_Str");
        }
      }
    }
  }
);
}