public StringRange FitIn (int length) { var loc = Location; if (loc > length) loc = length; var end = loc + Length; if (end > length) end = length; return new StringRange (loc, end - loc); }