Type range = feature.getRange();
if (testTS.subsumes(annotationType, range)) {
FeatureStructure valueTest = fs.getFeatureValue(feature);
if (valueTest instanceof AnnotationFS) {
AnnotationFS a1 = (AnnotationFS) valueTest;
Feature feature2 = newFS.getType().getFeatureByBaseName(feature.getShortName());
if (feature2 != null) {
Type range2 = runTS.getType(range.getName());
AnnotationFS createAnnotation = runCas.createAnnotation(range2, a1.getBegin(),
a1.getEnd());
newFS.setFeatureValue(feature2, createAnnotation);
}
}
}
if (UIMAConstants.TYPE_STRING.equals(range.getName())) {
String valueTest = fs.getFeatureValueAsString(feature);
if (valueTest != null) {
Feature feature2 = newFS.getType().getFeatureByBaseName(feature.getShortName());
newFS.setFeatureValueFromString(feature2, valueTest);
}
}
}