When serializing, the form 6 binary serializer does use a diff/delta encoding for certain values. A value is shortened by storing it as a delta to a previously stored value. The previously stored values are maintained in relation to the feature structure types.
When an XMI file is de-serialized in UIMAv3, UIMA creates subtypes of FSArray by default.
It appears that when serializing a CAS containing such subtypes, the subtype ID is stored in the CAS and the delta encoding is performed per subtype. However, when deserializing, the code tries to resolve the delta values against the hard-coded FSArray, causing an exception.
The issue can be worked around by setting the system property uima.disable_subtype_fsarray_creation to true.