/// <summary>
        /// Copies this three-dimensional array to another
        /// </summary>
        public void CopyTo(IArray2 <T> array, int offsetX, int offsetY)
        {
            var otherItems = array.GetItems();

            for (int y = 0; y < sizeY; y++)
            {
                Array.Copy(items[y], 0, otherItems[y + offsetY], offsetX, sizeX);
            }
        }
        /// <summary>
        /// Copies this three-dimensional array to another
        /// </summary>
        public void CopyTo(IArray2 <T> array)
        {
            var otherItems = array.GetItems();

            for (int y = 0; y < sizeY; y++)
            {
                Array.Copy(items[y], 0, otherItems[y], 0, sizeX);
            }
        }
 /// <summary>
 /// Returns true if array fits into this array
 /// </summary>
 public bool IsFits(IArray2 <T> array, int offsetX, int offsetY)
 {
     return(offsetX >= 0 && array.SizeX + offsetX <= sizeX && offsetY >= 0 && array.SizeY + offsetY <= sizeY);
 }
 /// <summary>
 /// Returns true if array fits into this array
 /// </summary>
 public bool IsFits(IArray2 <T> array)
 {
     return(array.SizeX <= sizeX && array.SizeY <= sizeY);
 }