private static CompositeScaleGraphic GetCompositeScaleGraphic(IPresentationImage image, bool createIfNull)
		{
			var applicationGraphicsProvider = image as IApplicationGraphicsProvider;
		    if (applicationGraphicsProvider == null) return null;

		    var overlayGraphics = applicationGraphicsProvider.ApplicationGraphics;
		    var scale = overlayGraphics.OfType<CompositeScaleGraphic>().FirstOrDefault();
		    if (scale == null && createIfNull)
		        overlayGraphics.Insert(0, scale = new CompositeScaleGraphic());

		    return scale;
		}
		private static CompositeScaleGraphic GetCompositeScaleGraphic(IPresentationImage image, bool createIfNull)
		{
			var applicationGraphicsProvider = image as IApplicationGraphicsProvider;
			if (applicationGraphicsProvider != null)
			{
				var overlayGraphics = applicationGraphicsProvider.ApplicationGraphics;
				var scale = CollectionUtils.SelectFirst(overlayGraphics, graphic => graphic is CompositeScaleGraphic
				            	) as CompositeScaleGraphic;

				if (scale == null && createIfNull)
					overlayGraphics.Insert(0, scale = new CompositeScaleGraphic());

				return scale;
			}

			return null;
		}
		protected CompositeScaleGraphic(CompositeScaleGraphic source, ICloningContext context)
		{
			context.CloneFields(source, this);
		}
		private static CompositeScaleGraphic GetCompositeScaleGraphic(IPresentationImage image, bool createIfNull)
		{
			if (image is IApplicationGraphicsProvider)
			{
				GraphicCollection overlayGraphics = ((IApplicationGraphicsProvider)image).ApplicationGraphics;
				CompositeScaleGraphic scale = CollectionUtils.SelectFirst(overlayGraphics,
				                                                          delegate(IGraphic graphic) { return graphic is CompositeScaleGraphic; }
				                              	) as CompositeScaleGraphic;

				if (scale == null && createIfNull)
					overlayGraphics.Insert(0, scale = new CompositeScaleGraphic());

				return scale;
			}

			return null;
		}
 protected CompositeScaleGraphic(CompositeScaleGraphic source, ICloningContext context)
 {
     context.CloneFields(source, this);
 }