The CoreMap key identifying the offset of the first char of an
annotation. The char with index 0 is the first char in the
Note that these are currently measured in terms of UTF-16 char offsets, not codepoints,
so that when non-BMP Unicode characters are present, such a character will add 2 to
the position. On the other hand, these values will work with String#substring() and
you can then calculate the number of codepoints in a substring.
This key should be set for any annotation that represents a span of text.
Returns the type associated with this annotation. This method must
return the same class type as its value type parameter. It feels like
one should be able to get away without this method, but because Java
erases the generic type signature, that info disappears at runtime.