private void ThrowIfRangeInvalid(int offset, int length)
{
if (offset < 0 || offset > rope.Length)
{
throw new ArgumentOutOfRangeException("offset", offset,
"0 <= offset <= " + rope.Length.ToString(CultureInfo.InvariantCulture));
}
if (length < 0 || offset + length > rope.Length)
{
throw new ArgumentOutOfRangeException("length", length,
"0 <= length, offset(" + offset + ")+length <= " + rope.Length.ToString(CultureInfo.InvariantCulture));
}
}