public bool EndsWith (string right, string source) { if (right.Length > Length) return false; var o = Location + Length - 1; for (var i = 0; i < right.Length; i++) { if (source [o - i] != right [i]) return false; } return true; }