public void DrawIconUnstretched(Icon icon, Rectangle targetRect) {
            if (icon == null){
                throw new ArgumentNullException("icon");
            }

            if(this.backingImage != null) {
                this.DrawImageUnscaled(icon.ToBitmap(), targetRect);
            } 
            else {
                icon.DrawUnstretched(this, targetRect);
            }
        }