Program: 79061
Project: 79061
Buggy source:
public void enableInteraction(InteractionEvent ie) throws ChartException {
  Trigger[] triggers=ie.getTriggers();
  if (triggers == null) {
    return;
  }
  final PrimitiveRenderEvent pre=ie.getHotSpot();
  Element elm=null;
  if (pre instanceof PolygonRenderEvent) {
    final Location[] loa=((PolygonRenderEvent)pre).getPoints();
    int[][] pa=getCoordinatesAsInts(loa);
    elm=svggc.createPolygon(pa[0],pa[1],pa[0].length);
  }
 else   if (pre instanceof OvalRenderEvent) {
    final Bounds boEllipse=((OvalRenderEvent)pre).getBounds();
    elm=svggc.createOval(boEllipse.getLeft(),boEllipse.getTop(),boEllipse.getWidth(),boEllipse.getHeight());
  }
 else   if (pre instanceof ArcRenderEvent) {
    final ArcRenderEvent are=(ArcRenderEvent)pre;
    final Bounds boEllipse=are.getEllipseBounds();
    double dStart=are.getStartAngle();
    double dExtent=are.getAngleExtent();
    elm=svggc.createArc(boEllipse.getLeft(),boEllipse.getTop(),boEllipse.getWidth(),boEllipse.getHeight(),dStart,dExtent);
  }
  if (elm != null) {
    for (int x=0; x < triggers.length; x++) {
      Trigger tg=triggers[x];
      if (tg.getAction().getType() == ActionType.SHOW_TOOLTIP_LITERAL) {
        Element title=svggc.dom.createElement("String_Node_Str");
        title.appendChild(svggc.dom.createTextNode(((TooltipValue)tg.getAction().getValue()).getText()));
        elm.appendChild(title);
        elm.setAttribute("String_Node_Str","String_Node_Str");
        elm.setAttribute("String_Node_Str","String_Node_Str");
      }
 else       if (tg.getAction().getType() == ActionType.URL_REDIRECT_LITERAL) {
        elm.setAttribute("String_Node_Str","String_Node_Str" + ((URLValue)tg.getAction().getValue()).getBaseUrl() + "String_Node_Str");
        setCursor(elm);
      }
    }
    hotspotLayer.appendChild(elm);
  }
}

Fixed version (ground truth):
public void enableInteraction(InteractionEvent ie) throws ChartException {
  Trigger[] triggers=ie.getTriggers();
  if (triggers == null) {
    return;
  }
  final PrimitiveRenderEvent pre=ie.getHotSpot();
  Element elm=null;
  if (pre instanceof PolygonRenderEvent) {
    final Location[] loa=((PolygonRenderEvent)pre).getPoints();
    int[][] pa=getCoordinatesAsInts(loa);
    elm=svggc.createPolygon(pa[0],pa[1],pa[0].length);
  }
 else   if (pre instanceof OvalRenderEvent) {
    final Bounds boEllipse=((OvalRenderEvent)pre).getBounds();
    elm=svggc.createOval(boEllipse.getLeft(),boEllipse.getTop(),boEllipse.getWidth(),boEllipse.getHeight());
  }
 else   if (pre instanceof ArcRenderEvent) {
    final ArcRenderEvent are=(ArcRenderEvent)pre;
    if (are.getInnerRadius() >= 0 && are.getOuterRadius() > 0 && are.getInnerRadius() < are.getOuterRadius()) {
      Shape outerArc=new Arc2D.Double(are.getTopLeft().getX() + (are.getWidth() - 2 * are.getOuterRadius()) / 2,are.getTopLeft().getY() + (are.getHeight() - 2 * are.getOuterRadius()) / 2,2 * are.getOuterRadius(),2 * are.getOuterRadius(),are.getStartAngle(),are.getAngleExtent(),Arc2D.PIE);
      Shape innerArc=new Arc2D.Double(are.getTopLeft().getX() + (are.getWidth() - 2 * are.getInnerRadius()) / 2,are.getTopLeft().getY() + (are.getHeight() - 2 * are.getInnerRadius()) / 2,2 * are.getInnerRadius(),2 * are.getInnerRadius(),are.getStartAngle(),are.getAngleExtent(),Arc2D.PIE);
      Area fArea=new Area(outerArc);
      fArea.exclusiveOr(new Area(innerArc));
      Shape prevClip=_g2d.getClip();
      elm=svggc.createGeneralPath(fArea);
    }
 else {
      elm=svggc.createGeneralPath(new Arc2D.Double(are.getTopLeft().getX(),are.getTopLeft().getY(),are.getWidth(),are.getHeight(),are.getStartAngle(),are.getAngleExtent(),toSwingArcType(are.getStyle())));
    }
  }
  if (elm != null) {
    for (int x=0; x < triggers.length; x++) {
      Trigger tg=triggers[x];
switch (tg.getAction().getType().getValue()) {
case ActionType.SHOW_TOOLTIP:
        Element title=svggc.dom.createElement("String_Node_Str");
      title.appendChild(svggc.dom.createTextNode(((TooltipValue)tg.getAction().getValue()).getText()));
    elm.appendChild(title);
  elm.setAttribute("String_Node_Str","String_Node_Str");
elm.setAttribute("String_Node_Str","String_Node_Str");
break;
case ActionType.URL_REDIRECT:
elm.setAttribute("String_Node_Str","String_Node_Str" + ((URLValue)tg.getAction().getValue()).getBaseUrl() + "String_Node_Str");
setCursor(elm);
break;
}
}
hotspotLayer.appendChild(elm);
}
}