public OOXMLChart( Chart c, WorkBookHandle wbh )
	{
		// Walk up the superclass hierarchy
		//System.out.println("BEFORE: chartArr: " + Arrays.toString(chartArr.toArray()));		
		for( Class obj = c.getClass(); !obj.equals( Object.class ); obj = obj.getSuperclass() )
		{
			java.lang.reflect.Field[] fields = obj.getDeclaredFields();
			for( Field field : fields )
			{
				field.setAccessible( true );
				try
				{
					// for each class/suerclass, copy all fields
					// from this object to the clone
					field.set( this, field.get( c ) );
				}
				catch( IllegalArgumentException e )
				{
				}
				catch( IllegalAccessException e )
				{
				}
			}
		}

		// ttl?
		// chartlaout?
		// txpr?
		// name?
		name = c.getTitle();
		if( c.hasDataLegend() )
		{
			ooxmlLegend = Legend.createLegend( c.getLegend() );
		}
		this.wbh = wbh;
	}