public override IGraphCloneable Clone(CloneContext cloneContext)
        {
            DxfHatchScaleContextData scaleContextData = (DxfHatchScaleContextData)cloneContext.GetExistingClone((IGraphCloneable)this);

            if (scaleContextData == null)
            {
                scaleContextData = new DxfHatchScaleContextData();
                cloneContext.RegisterClone((IGraphCloneable)this, (IGraphCloneable)scaleContextData);
                scaleContextData.CopyFrom((DxfHandledObject)this, cloneContext);
            }
            return((IGraphCloneable)scaleContextData);
        }
        public override void CopyFrom(DxfHandledObject from, CloneContext cloneContext)
        {
            base.CopyFrom(from, cloneContext);
            DxfHatchScaleContextData scaleContextData = (DxfHatchScaleContextData)from;

            foreach (DxfHatch.BoundaryPath boundaryPath in scaleContextData.list_0)
            {
                this.list_0.Add(boundaryPath.Clone(cloneContext));
            }
            this.dxfPattern_0 = scaleContextData.dxfPattern_0 == null ? (DxfPattern)null : scaleContextData.dxfPattern_0.Clone();
            this.double_0     = scaleContextData.double_0;
            this.vector3D_0   = scaleContextData.vector3D_0;
        }