public void ChangeRoot(AxMap pMap, double newGocX, double newGocY)
        {
            float num = (float)(pMap.Zoom / this.m_Zoom);

            num = Conversions.ToSingle(Operators.MultiplyObject(num, Interaction.IIf(this.m_MWidth > 0f, this.m_MWidth / pMap.MapScreenWidth, 1)));
            float num2;
            float num3;

            pMap.ConvertCoord(ref num2, ref num3, ref this.m_GocX, ref this.m_GocY, ConversionConstants.miMapToScreen);
            float num4;
            float num5;

            pMap.ConvertCoord(ref num4, ref num5, ref newGocX, ref newGocY, ConversionConstants.miMapToScreen);
            this.m_GocX = newGocX;
            this.m_GocY = newGocY;
            PointF toPt   = new PointF(num2 * num, num3 * num);
            PointF fromPt = new PointF(num4 * num, num5 * num);

            try
            {
                IEnumerator enumerator = this.m_GObjs.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    GraphicObject graphicObject = (GraphicObject)enumerator.Current;
                    graphicObject.Move(fromPt, toPt);
                }
            }
            finally
            {
                IEnumerator enumerator;
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
        }