The normal envisioned use case for the cas copier is
1) make an instance of the cas copier, specifying the two CASs
2) do an operation (copy a cas, copy a cas-view, copy some FSs)
Some users are in a sense reusing the cas copier instance; they make an instance, and then copy some FSs, and then maybe copy a view. The general contract for the CasCopier instance is that it "remembers" what FSs have been copied, and doesn't copy them again.
There was an optimization that tried to speed up the isDocumentAnnotation test - the casCopier instance remembers what the srcCasDocumentAnnotation is, once it's looked up. Unfortunately, each view has its own; there was code to re-look it up but it wasn't being set for all possible user invoked paths.
Note this is only an issue for use cases which are using the same casCopier instance both for copying individual FSs and for copying views.