Program: 95383
Project: 95383
Buggy source:
/** 
 * {@inheritDoc}
 */
protected Cell getCellAtMousePosition() throws StepExecutionException {
  final Point awtMousePos=getRobot().getCurrentMousePosition();
  Cell returnvalue=getEventThreadQueuer().invokeAndWait("String_Node_Str",new IRunnable<Cell>(){
    public Cell run() throws StepExecutionException {
      ITableComponent adapter=(ITableComponent)getComponent();
      Control comp=(Control)adapter.getRealComponent();
      Cell cell=null;
      final int itemCount=adapter.getRowCount();
      for (int rowCount=adapter.getTopIndex(); rowCount < itemCount; rowCount++) {
        if (cell != null) {
          break;
        }
        final int columnCount=adapter.getColumnCount() == 0 ? 1 : adapter.getColumnCount();
        for (int col=0; col < columnCount; col++) {
          checkRowColBounds(rowCount,col);
          final Rectangle itemBounds=adapter.getCellBounds(rowCount,col,false);
          final org.eclipse.swt.graphics.Point absItemBounds=comp.toDisplay(itemBounds.x,itemBounds.y);
          final Rectangle absRect=new Rectangle(absItemBounds.x,absItemBounds.y,itemBounds.width,itemBounds.height);
          if (absRect.contains(awtMousePos)) {
            if (comp instanceof Table) {
              cell=new SWTCell(rowCount,col,((Table)comp).getItem(rowCount));
            }
 else             if (comp instanceof Tree) {
              cell=new SWTCell(rowCount,col,((TreeAdapter)getComponent()).getRow(rowCount));
            }
            break;
          }
        }
      }
      if (cell == null) {
        throw new StepExecutionException("String_Node_Str",EventFactory.createActionError(TestErrorEvent.NOT_FOUND));
      }
      return cell;
    }
  }
);
  return returnvalue;
}

Fixed version (ground truth):
/** 
 * {@inheritDoc}
 */
protected Cell getCellAtMousePosition() throws StepExecutionException {
  final Point awtMousePos=getRobot().getCurrentMousePosition();
  Cell returnvalue=getEventThreadQueuer().invokeAndWait("String_Node_Str",new IRunnable<Cell>(){
    public Cell run() throws StepExecutionException {
      ITableComponent adapter=(ITableComponent)getComponent();
      Control comp=(Control)adapter.getRealComponent();
      Cell cell=null;
      final int itemCount=adapter.getRowCount();
      for (int rowCount=adapter.getTopIndex(); rowCount < itemCount; rowCount++) {
        if (cell != null) {
          break;
        }
        final int columnCount=adapter.getColumnCount() == 0 ? 1 : adapter.getColumnCount();
        for (int col=0; col < columnCount; col++) {
          checkRowColBounds(rowCount,col);
          final Rectangle itemBounds=adapter.getCellBounds(rowCount,col,false);
          if (col == 0 && (comp.getStyle() & SWT.CHECK) == SWT.CHECK) {
            itemBounds.x=0;
          }
          final org.eclipse.swt.graphics.Point absItemBounds=comp.toDisplay(itemBounds.x,itemBounds.y);
          final Rectangle absRect=new Rectangle(absItemBounds.x,absItemBounds.y,itemBounds.width,itemBounds.height);
          if (absRect.contains(awtMousePos)) {
            if (comp instanceof Table) {
              cell=new SWTCell(rowCount,col,((Table)comp).getItem(rowCount));
            }
 else             if (comp instanceof Tree) {
              cell=new SWTCell(rowCount,col,((TreeAdapter)getComponent()).getRow(rowCount));
            }
            break;
          }
        }
      }
      if (cell == null) {
        throw new StepExecutionException("String_Node_Str",EventFactory.createActionError(TestErrorEvent.NOT_FOUND));
      }
      return cell;
    }
  }
);
  return returnvalue;
}