public T Swap(Array2DIndex index, T newValue)
 {
     return(Swap(index.X, index.Y, newValue));
 }
 public int CalculateRawArrayIndex(Array2DIndex index)
 {
     return(CalculateRawArrayIndex(index.X, index.Y));
 }
 public T this[Array2DIndex index]
 {
     get { return(this[index.X, index.Y]); }
     set { this[index.X, index.Y] = value; }
 }