System.out.println("addDemandSupplyDataView::Working on |" + name + "|");
    protected void addDemandSupplyDataView(ChartDataView chartDataView) {	String name = chartDataView.getName();	JComponent component;	Color color;	JLabel label;	SeriesToggleButton button;	JLabel supplyValue=null;	int j=0;	ChartDataViewSeries series;	int gridX=-1;	int titleY=SUPPLY_TITLE_GRIDY;	if((name.equals(InventoryChart.REQUESTED_INACTIVE_INVENTORY_LEGEND)) ||	   (name.equals(InventoryChart.ACTUAL_INACTIVE_INVENTORY_LEGEND))) {	    return;	}	if((name.equals(InventoryChart.REQUESTED_INVENTORY_LEGEND)) ||	   (name.equals(InventoryChart.REQUESTED_SUPPLY_LEGEND)))	    gridX=REQUESTED_GRIDX;	else	    gridX=ACTUAL_GRIDX;	    	    	initDemandSupplyPanel();	// add checkbtn or label for the view	int y = 0;	if (inventoryChart.isChartDataViewSelectable(chartDataView)) {	    component = createCheckBox(name,chartDataView.isVisible());	} else {	    component = createLabel(name);	}	demandSupplyPanel.add(component,	    new GridBagConstraints(gridX, y++, 1, 1, 0.0, 0.0,				   GridBagConstraints.WEST, 				   GridBagConstraints.NONE, 				   insets, 0, 0));	// add label w/ color coded circle for each series	int numSeries = chartDataView.getNumSeries();	if (numSeries == 0) {	    label = new JLabel("No "+name);	    label.setForeground(Color.black);	    demandSupplyPanel.add(label, 				  new GridBagConstraints(gridX, y++, 1, 1, 0.0, 0.0,							 GridBagConstraints.WEST, 							 GridBagConstraints.NONE, 							 insets, 0, 0));	}	for (j = 0; j < numSeries; j++) {	    series = chartDataView.getSeries(j);	    color = series.getStyle().getSymbolColor();	    String seriesName = series.getLabel();	    String labelName="";	    if ((name.equals(InventoryChart.REQUESTED_INVENTORY_LEGEND)) ||	       (name.equals(InventoryChart.REQUESTED_SUPPLY_LEGEND))) {				//Setup the left hand titles for dueins		if (seriesName.equals(InventoryChartDataModel.REQUESTED_DUE_IN_LABEL) ||		   seriesName.equals(InventoryChartDataModel.REQUESTED_PROJECTED_DUE_IN_LABEL) ||		   seriesName.equals(InventoryChartDataModel.UNCONFIRMED_DUE_IN_LABEL)) {                     if (seriesName.equals(InventoryChartDataModel.REQUESTED_PROJECTED_DUE_IN_LABEL)) {	                        component = createLabel(PROJECTED_SUPPLY_TITLE);                    } else {                        component = createLabel(ACTUAL_SUPPLY_TITLE);                    }                    demandSupplyPanel.add(component, 				 new GridBagConstraints(TITLES_GRIDX, titleY++, 1, 1, 0.0, 0.0,							GridBagConstraints.WEST, 							GridBagConstraints.NONE, 							insets, 0, 0));			    //Not just supply (consumer, no inventory) and haven't put up demand title		    if (name.equals(InventoryChart.REQUESTED_SUPPLY_LEGEND)) {			if (supplyValue == null) {			    supplyValue = createLabel(EMPTY_LABEL);			    demandSupplyPanel.add(supplyValue, 						  new GridBagConstraints(TITLES_GRIDX + 1,									 titleY-1,									 1, 1, 0.0, 0.0,									 GridBagConstraints.WEST, 									 GridBagConstraints.NONE, 									 insets, 0, 0));			}			if (seriesName.equals(InventoryChartDataModel.REQUESTED_DUE_IN_LABEL)){			    component = createLabel(ACTUAL_SUPPLY_TITLE);			}			else {			    component = createLabel(PROJECTED_SUPPLY_TITLE);			}			demandSupplyPanel.add(component, 					      new GridBagConstraints(TITLES_GRIDX, titleY++, 								     1, 1, 0.0, 0.0,								     GridBagConstraints.WEST, 								     GridBagConstraints.NONE, 								     insets, 0, 0));		    }		} else {        // Setup for dueouts		    if(seriesName.equals(InventoryChartDataModel.REQUESTED_DUE_OUT_LABEL)) {			component = createLabel(ACTUAL_DEMAND_TITLE);		    }		    else {			component = createLabel(PROJECTED_DEMAND_TITLE);		    }		    demandSupplyPanel.add(component, 					  new GridBagConstraints(TITLES_GRIDX, titleY++, 								 1, 1, 0.0, 0.0,								 GridBagConstraints.WEST, 								 GridBagConstraints.NONE, 								 insets, 0, 0));		}		//Setup Requested label		labelName = REQUESTED_LABEL;				    } else {		//Setup actual label		if(seriesName.equals(InventoryChartDataModel.ACTUAL_DUE_OUT_SHIPPED_LABEL) ||		   (seriesName.equals(InventoryChartDataModel.ACTUAL_PROJECTED_DUE_OUT_SHIPPED_LABEL))) {		    labelName=SHIPPED_LABEL;		}		else if(seriesName.equals(InventoryChartDataModel.ACTUAL_DUE_OUT_CONSUMED_LABEL)			||			(seriesName.equals(InventoryChartDataModel.ACTUAL_PROJECTED_DUE_OUT_CONSUMED_LABEL))){		    labelName = CONSUMED_LABEL;		}		else if (seriesName.equals(InventoryChartDataModel.ACTUAL_PROJECTED_DUE_IN_LABEL)) {		    labelName = PROMISED_LABEL;		    		}		else {		    labelName = RECEIVED_LABEL;		}    	    }   	    	    button = new SeriesToggleButton(labelName, iconWidth, j, series);	    // Skip over Demand label	    demandSupplyPanel.add(button, 				  new GridBagConstraints(gridX, y++, 1, 1, 0.0, 0.0,							 GridBagConstraints.WEST, 							 GridBagConstraints.NONE, 							 insets, 0, 0));	}    }