An annotation object is a wrapper for a text attribute value if the attribute has annotation characteristics. One characteristic is the text range to which the attribute is applied; this is critical to the semantics of the range. Wrapping the attribute value into an annotation object guarantees that adjacent text does not get merged, even if the attribute values are equal, and it indicates to text containers that the attribute should be discarded if the underlying text is modified.
Can anyone explain me the above paragraph? Thanks.