/// <summary>
 /// Gets the value.
 /// </summary>
 /// <param name="row">The row.</param>
 /// <param name="column">The column.</param>
 /// <returns>IValueProvider.</returns>
 /// <exception cref="System.NotImplementedException"></exception>
 public double GetValue(int row, int column)
 {
     var value = _data[row, column] ?? (_data[row, column] = new ConstantValue(0));
     return value.Value;
 }
 /// <summary>
 /// Sets the value.
 /// </summary>
 /// <param name="row">The row.</param>
 /// <param name="column">The column.</param>
 /// <param name="value">The value.</param>
 /// <exception cref="System.NotImplementedException"></exception>
 public void SetValue(int row, int column, double value)
 {
     _data[row, column] = new ConstantValue(value);
 }