Program: 67471
Project: 67471
Buggy source:
/** 
 * @param source
 * @param uv
 */
private void generateURLValue(StructureSource source,URLValue uv){
  String sa=uv.getBaseUrl();
  String target=null;
  final ActionHandle handle=getActionHandleInstance(sa);
  if (handle != null) {
    setTooltip(uv,handle);
    target=handle.getTargetWindow();
    if (StructureType.SERIES_DATA_POINT.equals(source.getType())) {
      final DataPointHints dph=(DataPointHints)source.getSource();
      sa=handler.getURL(new ChartHyperlinkActionBase(handle){
        public Object evaluate(        String expr){
          return dph.getUserValue(expr);
        }
      }
,context);
    }
 else     if (StructureType.LEGEND_ENTRY.equals(source.getType())) {
      final LegendItemHints lih=(LegendItemHints)source.getSource();
      sa=handler.getURL(new ChartHyperlinkActionBase(handle){
        public Object evaluate(        String expr){
          if (expr != null) {
            if (expr.indexOf(LEGEND_ITEM_TEXT) >= 0) {
              String legendItemText=wrapQuotation(lih.getItemText());
              expr=Pattern.compile(LEGEND_ITEM_TEXT,Pattern.LITERAL).matcher(expr).replaceAll(legendItemText);
            }
            if (expr.indexOf(LEGEND_ITEM_VALUE) >= 0) {
              String legendItemValue=wrapQuotation(lih.getValueText());
              expr=Pattern.compile(LEGEND_ITEM_VALUE,Pattern.LITERAL).matcher(expr).replaceAll(legendItemValue);
            }
          }
          return evaluator.evaluate(expr);
        }
      }
,context);
    }
 else {
      sa=handler.getURL(new ChartHyperlinkActionBase(handle){
        public Object evaluate(        String expr){
          return evaluator.evaluate(expr);
        }
      }
,context);
    }
  }
 else {
    sa="String_Node_Str";
  }
  uv.setBaseUrl(sa);
  uv.setTarget(target);
}

Fixed version (ground truth):
/** 
 * @param source
 * @param uv
 */
private void generateURLValue(StructureSource source,URLValue uv){
  String sa=uv.getBaseUrl();
  String target=null;
  final ActionHandle handle=getActionHandleInstance(sa);
  if (handle != null) {
    setTooltip(uv,handle);
    target=handle.getTargetWindow();
    if (StructureType.SERIES_DATA_POINT.equals(source.getType())) {
      final DataPointHints dph=(DataPointHints)source.getSource();
      sa=handler.getURL(new ChartHyperlinkActionBase(handle){
        @Override public Object evaluate(        String expr){
          return dph.getUserValue(expr);
        }
      }
,context);
    }
 else     if (StructureType.LEGEND_ENTRY.equals(source.getType())) {
      final LegendItemHints lih=(LegendItemHints)source.getSource();
      sa=handler.getURL(new ChartHyperlinkActionBase(handle){
        @Override public Object evaluate(        String expr){
          if (expr != null) {
            if (expr.indexOf(LEGEND_ITEM_TEXT) >= 0) {
              String legendItemText=wrapQuotation(lih.getItemText());
              expr=Pattern.compile(LEGEND_ITEM_TEXT,Pattern.LITERAL).matcher(expr).replaceAll(legendItemText);
            }
            if (expr.indexOf(LEGEND_ITEM_VALUE) >= 0) {
              String legendItemValue=wrapQuotation(lih.getValueText());
              expr=Pattern.compile(LEGEND_ITEM_VALUE,Pattern.LITERAL).matcher(expr).replaceAll(legendItemValue);
            }
          }
          return evaluator.evaluate(expr);
        }
      }
,context);
    }
 else {
      sa=handler.getURL(new ChartHyperlinkActionBase(handle){
        @Override public Object evaluate(        String expr){
          return evaluator.evaluate(expr);
        }
      }
,context);
    }
  }
 else {
    sa="String_Node_Str";
  }
  uv.setBaseUrl(sa);
  uv.setTarget(target);
}