{
Iterator annItr = annotations.iterator();
while(annItr.hasNext())
{
Annotation ann = null;
BaseTokenImpl oldAnn = (BaseTokenImpl)annItr.next();
if(FractionStrengthAnnotation.type == type)
ann = new FractionStrengthAnnotation(jcas, oldAnn.getStartOffset(), oldAnn.getEndOffset());
else if (DecimalStrengthAnnotation.type == type)
ann = new DecimalStrengthAnnotation(jcas, oldAnn.getStartOffset(), oldAnn.getEndOffset());
else if (DrugChangeStatusAnnotation.type == type)
{
ann = new DrugChangeStatusAnnotation(jcas, oldAnn.getStartOffset(), oldAnn.getEndOffset());
((DrugChangeStatusAnnotation)ann).setChangeStatus(((DrugChangeStatusToken)oldAnn).getDrugChangeStatus());
}
else if (RangeStrengthAnnotation.type == type)
ann = new RangeStrengthAnnotation(jcas, oldAnn.getStartOffset(), oldAnn.getEndOffset());
if(ann != null)
ann.addToIndexes();
}
}