public override void Draw(Graphics g)
{
g.RotateTransform((float)-mRotation);
Point[] p = new Point[]{mImgSec.Location};
g.Transform.TransformPoints(p);
if(g.Transform != new System.Drawing.Drawing2D.Matrix() && p[0] == mImgSec.Location)
throw new OperationCanceledException("Ellipse.Draw: the rotation of the array affects the referenced items in that array: fix");
g.FillEllipse(new SolidBrush(this.mImgSec.MedianCol), new System.Drawing.Rectangle(p[0], new Size((int)mEllWidth, (int)mEllHeight)));
g.RotateTransform((float)mRotation);
base.Draw(g);
}