 	import flash.geom.Rectangle;
 	import flash.utils.Dictionary;
 	
+	import mx.utils.StringUtil;
+	
 	import weave.Weave;
 	import weave.api.WeaveAPI;
+	import weave.api.core.ILinkableObject;
+	import weave.api.data.IKeySet;
+	import weave.api.data.IQualifiedKey;
+	import weave.api.data.ISimpleGeometry;
 	import weave.api.getCallbackCollection;
 	import weave.api.linkableObjectIsBusy;
 	import weave.api.newDisposableChild;
 	import weave.api.newLinkableChild;
+	import weave.api.primitives.IBounds2D;
 	import weave.api.registerDisposableChild;
 	import weave.api.registerLinkableChild;
+	import weave.api.reportError;
 	import weave.api.setSessionState;
-	import weave.api.core.ILinkableObject;
-	import weave.api.data.IKeySet;
-	import weave.api.data.IQualifiedKey;
-	import weave.api.data.ISimpleGeometry;
-	import weave.api.primitives.IBounds2D;
 	import weave.api.ui.IPlotter;
 	import weave.api.ui.IPlotterWithGeometries;
 	import weave.api.ui.ITextPlotter;

			
			// get plotter from sourceLayer
			var plotterFromSourceLayer:IPlotterWithGeometries = plotters.getObject(sourceLayer) as IPlotterWithGeometries;
			
				
			// use the source keys to get a list of overlapping geometries on the destination layer.
			// Iterate over all the keys

	import weave.utils.NumberUtils;
	import weave.utils.PlotterUtils;
	import weave.utils.SpatialIndex;
	import weave.utils.ZoomUtils;

	/**
	 * This is a container for a list of PlotLayers
