In the CompoundFormat class, the Javadoc of following method give a description of ParseException.getErrorOffset() value which is inconsistent with what most Apache SIS implementations actually do:
public abstract T parse(CharSequence text, ParsePosition pos) throws ParseException;
The current specification of above method is more convolved than what we usually expect from a method throwing ParseException. It said that the error offset of the exception is relative to the error index of the ParsePosition. But the TreeTableFormat subclass is the only one to follow that specification; all other subclasses apply the more usual and straightforward interpretation where ParseException.getErrorOffset() gives directly the index where parsing error occurred.
Instead than modifying WKTFormat - which is a much more sensitive subclass than TreeTableFormat, we should rather modify the CompoundFormat.parse(CharSequence, ParsePosition) specification for making it less surprising and adapt TreeTableFormat accordingly.