public FakeTileRectangle(FakeCollection Collection, object Key,
                          int X, int Y, int Width, int Height, ITile[,] Tile)
     : this(Collection, Key, X, Y, Width, Height)
 {
     if (Tile != null)
     {
         for (int i = X; i < X + Width; i++)
         {
             for (int j = Y; j < Y + Height; j++)
             {
                 ITile t = Tile[i, j];
                 if (t != null)
                 {
                     this.Tile[i - X, j - Y].CopyFrom(t);
                 }
             }
         }
     }
 }
        //public bool IsPersonal => Collection.IsPersonal;

        #endregion
        #region Constructor

        public FakeTileRectangle(FakeCollection Collection,
                                 object Key, int X, int Y, int Width, int Height)
        {
            this.Key        = Key;
            this.Collection = Collection;
            this.Tile       = new FakeTileProvider(Width, Height);
            for (int i = 0; i < Width; i++)
            {
                for (int j = 0; j < Height; j++)
                {
                    if (this.Tile[i, j] == null)
                    {
                        this.Tile[i, j] = new Tile();
                    }
                }
            }
            this.X      = X;
            this.Y      = Y;
            this.Width  = Width;
            this.Height = Height;
        }