// The top level sofa associated with this view is copied (or not)
if (aCopySofa) {
// can't copy the SofaFS - just copy the sofa data and mime type
SofaFS sofa = aSrcCasView.getSofa();
if (null != sofa) {
// if the sofa doesn't exist in the target, these calls will create it
// (view can exist without Sofa, at least for the initial view)
String sofaMime = sofa.getSofaMime();
if (aSrcCasView.getDocumentText() != null) {
aTgtCasView.setSofaDataString(aSrcCasView.getDocumentText(), sofaMime);
} else if (aSrcCasView.getSofaDataURI() != null) {
aTgtCasView.setSofaDataURI(aSrcCasView.getSofaDataURI(), sofaMime);
} else if (aSrcCasView.getSofaDataArray() != null) {