Program: 59230
Project: 59230
Buggy source:
public void mousePressed(final MouseEvent event){
  DefaultGraphCell clickedCell=(DefaultGraphCell)refPathwayGraph.getFirstCellForLocation(event.getX(),event.getY());
  if (clickedCell == null) {
    for (int iUndoCount=0; iUndoCount < iNeighbourhoodUndoCount; iUndoCount++) {
      refUndoManager.undo(refGraphLayoutCache);
    }
    bNeighbourhoodShown=false;
    return;
  }
  if (clickedCell.getUserObject() == null) {
    super.mousePressed(event);
    return;
  }
  final String sUrl=((PathwayVertex)clickedCell.getUserObject()).getVertexLink();
  if (sUrl == "String_Node_Str") {
    super.mousePressed(event);
    return;
  }
  String sSearchPattern="String_Node_Str";
  String sPathwayFilePath;
  if (sUrl.contains((CharSequence)sSearchPattern)) {
    int iFilePathStartIndex=sUrl.lastIndexOf(sSearchPattern) + sSearchPattern.length();
    sPathwayFilePath=sUrl.substring(iFilePathStartIndex);
    sPathwayFilePath=sPathwayFilePath.replaceFirst("String_Node_Str","String_Node_Str");
    System.out.println("String_Node_Str" + sPathwayFilePath);
    int iPathwayIdIndex=sUrl.lastIndexOf("String_Node_Str") + 5;
    System.out.println("String_Node_Str" + iPathwayIdIndex);
    iPathwayId=StringConversionTool.convertStringToInt(sUrl.substring(iPathwayIdIndex,iPathwayIdIndex + 3),0);
    refGeneralManager.getSingelton().getLoggerManager().logMsg("String_Node_Str" + iPathwayId);
    loadPathwayFromFile("String_Node_Str" + sPathwayFilePath);
    bNeighbourhoodShown=false;
  }
 else {
    final IViewManager tmpViewManager=refGeneralManager.getSingelton().getViewGLCanvasManager();
    refEmbeddedFrameComposite.getDisplay().asyncExec(new Runnable(){
      public void run(){
        ((HTMLBrowserViewRep)tmpViewManager.getItem(iHTMLBrowserId)).setUrl(sUrl);
      }
    }
);
    if (bNeighbourhoodShown == true) {
      for (int iUndoCount=0; iUndoCount < iNeighbourhoodUndoCount; iUndoCount++) {
        refUndoManager.undo(refGraphLayoutCache);
      }
      iNeighbourhoodUndoCount=0;
      bNeighbourhoodShown=false;
    }
    showNeighbourhood(clickedCell,iNeighbourhoodDistance);
    bNeighbourhoodShown=true;
  }
  super.mousePressed(event);
}

Fixed version (ground truth):
public void mousePressed(final MouseEvent event){
  DefaultGraphCell clickedCell=(DefaultGraphCell)refPathwayGraph.getFirstCellForLocation(event.getX(),event.getY());
  if (clickedCell == null) {
    for (int iUndoCount=0; iUndoCount < iNeighbourhoodUndoCount; iUndoCount++) {
      refUndoManager.undo(refGraphLayoutCache);
    }
    iNeighbourhoodUndoCount=0;
    bNeighbourhoodShown=false;
    return;
  }
  if (clickedCell.getUserObject() == null) {
    super.mousePressed(event);
    return;
  }
  if (!clickedCell.getUserObject().getClass().getSimpleName().equals("String_Node_Str")) {
    super.mousePressed(event);
    return;
  }
  final String sUrl=((PathwayVertex)clickedCell.getUserObject()).getVertexLink();
  if (sUrl == "String_Node_Str") {
    super.mousePressed(event);
    return;
  }
  String sSearchPattern="String_Node_Str";
  String sPathwayFilePath;
  if (sUrl.contains((CharSequence)sSearchPattern)) {
    int iFilePathStartIndex=sUrl.lastIndexOf(sSearchPattern) + sSearchPattern.length();
    sPathwayFilePath=sUrl.substring(iFilePathStartIndex);
    sPathwayFilePath=sPathwayFilePath.replaceFirst("String_Node_Str","String_Node_Str");
    System.out.println("String_Node_Str" + sPathwayFilePath);
    int iPathwayIdIndex=sUrl.lastIndexOf("String_Node_Str") + 5;
    System.out.println("String_Node_Str" + iPathwayIdIndex);
    iPathwayId=StringConversionTool.convertStringToInt(sUrl.substring(iPathwayIdIndex,iPathwayIdIndex + 3),0);
    refGeneralManager.getSingelton().getLoggerManager().logMsg("String_Node_Str" + iPathwayId);
    loadPathwayFromFile("String_Node_Str" + sPathwayFilePath);
    bNeighbourhoodShown=false;
  }
 else {
    final IViewManager tmpViewManager=refGeneralManager.getSingelton().getViewGLCanvasManager();
    refEmbeddedFrameComposite.getDisplay().asyncExec(new Runnable(){
      public void run(){
        ((HTMLBrowserViewRep)tmpViewManager.getItem(iHTMLBrowserId)).setUrl(sUrl);
      }
    }
);
    if (bNeighbourhoodShown == true) {
      for (int iUndoCount=0; iUndoCount < iNeighbourhoodUndoCount; iUndoCount++) {
        refUndoManager.undo(refGraphLayoutCache);
      }
      iNeighbourhoodUndoCount=0;
      bNeighbourhoodShown=false;
    }
    showNeighbourhood(clickedCell,iNeighbourhoodDistance);
    bNeighbourhoodShown=true;
  }
  super.mousePressed(event);
}