 
 		/**
 		 * This function draws a list of GeneralizedGeometry objects
-		 * @param geometryParts A 2-dimensional Array or Vector of objects, each having x and y properties.
-		 */
-		private function drawMultiPartShape(key:IQualifiedKey, geometryParts:Object, shapeType:String, dataBounds:IBounds2D, screenBounds:IBounds2D, graphics:Graphics, bitmapData:BitmapData):void
-		{
-			for (var i:int = 0; i < geometryParts.length; i++)
-				drawShape(key, geometryParts[i], shapeType, dataBounds, screenBounds, graphics, bitmapData);
+		 * @param geomParts A 2-dimensional Array or Vector of objects, each having x and y properties.
+		 */
+		private function drawMultiPartShape(key:IQualifiedKey, geom:GeneralizedGeometry, geomParts:Object, dataBounds:IBounds2D, screenBounds:IBounds2D, graphics:Graphics, bitmapData:BitmapData):void
+		{
+			var geomType:String = geom.geomType;
+			for (var i:int = 0; i < geomParts.length; i++)
+				drawShape(key, geomParts[i], geomType, dataBounds, screenBounds, graphics, bitmapData);
 		}
 		/**
 		 * This function draws a single geometry.
 		 * @param points An Array or Vector of objects, each having x and y properties.
 		 */
-		private function drawShape(key:IQualifiedKey, points:Object, shapeType:String, dataBounds:IBounds2D, screenBounds:IBounds2D, outputGraphics:Graphics, outputBitmapData:BitmapData):void
+		private function drawShape(key:IQualifiedKey, points:Object, geomType:String, dataBounds:IBounds2D, screenBounds:IBounds2D, outputGraphics:Graphics, outputBitmapData:BitmapData):void
 		{
 			if (points.length == 0)
 				return;
 
 			var currentNode:Object;
 
-			if (shapeType == GeometryType.POINT)
+			if (geomType == GeometryType.POINT)
 			{
 				for each (currentNode in points)
 				{

				outputGraphics.lineTo(x, y);
			}
			
			if (debug)
				return;
			
			if (shapeType == GeometryType.POLYGON)
				outputGraphics.lineTo(firstX, firstY);
		}
		
		public function dispose():void

			if (debugGridSkip)
				simplifyDataBounds = null;

			var drawImages:Boolean = pointDataImageColumn.getInternalColumn() != null;
			var recordIndex:Number = task.asyncState[RECORD_INDEX];
			var minImportance:Number = task.asyncState[MIN_IMPORTANCE];
			var d_progress:Dictionary = task.asyncState[D_PROGRESS];
