As CharSequence is to String, so is TextSequence to {@link Text}(except a TextSequence is a Text whereas a String is a CharSequence). Use when you want to conserve on object creation.
Use with care. If danger that the passed in {@link Text} instance canchange during the life of this TextSequence, concretize this TextSequence by calling {@link #toText()}.
Equals considers a Text equal if the TextSequence brackets the same bytes.
TextSequence will not always work as a Text. For instance, the following fails Text c = new Text(new TextSequence(new Text("some string")));
because the Text constructor accesses private Text data members making the new instance from the passed 'Text'.
TODO: Should this be an Interface as CharSequence is?