/// <summary>
/// Deletes bytes from the byte collection.
/// </summary>
/// <param name = "index">the start index of the bytes to delete.</param>
/// <param name = "length">the length of bytes to delete.</param>
public void DeleteBytes(long index, long length)
{
var internalIndex = (int)Math.Max(0, index);
var internalLength = (int)Math.Min((int)Length, length);
_bytes.RemoveRange(internalIndex, internalLength);
OnLengthChanged(EventArgs.Empty);
OnChanged(EventArgs.Empty);
}