Program: 145510
Project: 145510
Buggy source:
public void configureCursors(MouseEvent e) throws Exception {
  Object mode=map.getTools().getInstalled();
  if (mode == MouseTools.VIEW) {
    ensureCursor(Cursors.ZOOM);
  }
 else   if (mode == MouseTools.NAVIGATION) {
    Point2D.Double cartPt=map.getPane().awtScreen2Cartesian(e.getPoint());
    Point2D.Double goePt=map.getPane().cartesian2Geo(cartPt);
    boolean shapeSelected=map.selectedGeometryHitted(GisUtilities.createPoint(goePt));
    boolean pointSelected=map.selectedPointHitted(GisUtilities.createPoint(goePt));
    if (shapeSelected || pointSelected) {
      if (pointSelected) {
        ensureCursor(Cursors.PAN_POINT);
      }
 else {
        ensureCursor(Cursors.HAND);
      }
    }
 else {
      ensureCursor(Cursors.ZOOM);
    }
  }
 else   if (mode == MouseTools.SELECTION) {
    Point2D.Double cartPt=map.getPane().awtScreen2Cartesian(e.getPoint());
    Point2D.Double goePt=map.getPane().cartesian2Geo(cartPt);
    boolean shapeSelected=map.selectedGeometryHitted(GisUtilities.createPoint(goePt));
    boolean pointSelected=map.selectedPointHitted(GisUtilities.createPoint(goePt));
    if (shapeSelected || pointSelected) {
      if (pointSelected) {
        ensureCursor(Cursors.PAN_POINT);
      }
 else {
        ensureCursor(Cursors.HAND);
      }
    }
 else {
      ensureCursor(Cursors.CROSS);
    }
  }
 else   if (mode == MouseTools.EDITING) {
    ensureCursor(Cursors.DRAW);
  }
 else   if (mode == MouseTools.VERTICES_EDITING) {
    Point2D.Double cartPt=map.getPane().awtScreen2Cartesian(e.getPoint());
    Point2D.Double goePt=map.getPane().cartesian2Geo(cartPt);
    boolean shapeSelected=map.selectedPointHitted(GisUtilities.createPoint(goePt));
    if (shapeSelected) {
      ensureCursor(Cursors.PAN_POINT);
    }
 else {
      ensureCursor(Cursors.CROSS);
    }
  }
}

Fixed version (ground truth):
public void configureCursors(MouseEvent e) throws Exception {
  Object mode=map.getTools().getInstalled();
  if (mode == MouseTools.VIEW) {
    ensureCursor(Cursors.ZOOM);
  }
 else   if (mode == MouseTools.NAVIGATION) {
    Point2D.Double cartPt=map.getPane().awtScreen2Cartesian(e.getPoint());
    Point2D.Double goePt=map.getPane().cartesian2Geo(cartPt);
    boolean shapeSelected=map.selectedGeometryHitted(GeometryUtils.createPoint(goePt));
    boolean pointSelected=map.selectedPointHitted(GeometryUtils.createPoint(goePt));
    if (shapeSelected || pointSelected) {
      if (pointSelected) {
        ensureCursor(Cursors.PAN_POINT);
      }
 else {
        ensureCursor(Cursors.HAND);
      }
    }
 else {
      ensureCursor(Cursors.ZOOM);
    }
  }
 else   if (mode == MouseTools.SELECTION) {
    Point2D.Double cartPt=map.getPane().awtScreen2Cartesian(e.getPoint());
    Point2D.Double goePt=map.getPane().cartesian2Geo(cartPt);
    boolean shapeSelected=map.selectedGeometryHitted(GeometryUtils.createPoint(goePt));
    boolean pointSelected=map.selectedPointHitted(GeometryUtils.createPoint(goePt));
    if (shapeSelected || pointSelected) {
      if (pointSelected) {
        ensureCursor(Cursors.PAN_POINT);
      }
 else {
        ensureCursor(Cursors.HAND);
      }
    }
 else {
      ensureCursor(Cursors.CROSS);
    }
  }
 else   if (mode == MouseTools.EDITING) {
    ensureCursor(Cursors.DRAW);
  }
 else   if (mode == MouseTools.VERTICES_EDITING) {
    Point2D.Double cartPt=map.getPane().awtScreen2Cartesian(e.getPoint());
    Point2D.Double goePt=map.getPane().cartesian2Geo(cartPt);
    boolean shapeSelected=map.selectedPointHitted(GeometryUtils.createPoint(goePt));
    if (shapeSelected) {
      ensureCursor(Cursors.PAN_POINT);
    }
 else {
      ensureCursor(Cursors.CROSS);
    }
  }
}