public override int GetHashCode() { unchecked { int hash = length; foreach (var run in runArray) { hash = unchecked(17 * hash + run.StartIndex); hash = unchecked(17 * hash + run.EndIndex); } return hash; } }