protected void updateAnnotations(Annotation existingAnnotation,Position newPos,Map additions,List modifications,List deletions){
  if (existingAnnotation instanceof FoldingAnnotation) {
    FoldingAnnotation foldingAnnotation=(FoldingAnnotation)existingAnnotation;
    if (newPos != null && newPos.length > 0 && projectionAnnotationModel != null) {
      Position oldPos=projectionAnnotationModel.getPosition(foldingAnnotation);
      if (!newPos.equals(oldPos)) {
        oldPos.setOffset(newPos.offset);
        oldPos.setLength(newPos.length);
        modifications.add(foldingAnnotation);
      }
    }
 else {
      deletions.add(foldingAnnotation);
    }
  }
}

protected void updateAnnotations ( Annotation existingAnnotation , Position newPos , Map additions , List modifications , List deletions ) { if ( existingAnnotation instanceof FoldingAnnotation ) { FoldingAnnotation foldingAnnotation = ( FoldingAnnotation ) existingAnnotation ; if ( newPos != null && newPos . length > 0 && projectionAnnotationModel != null ) { Position oldPos = projectionAnnotationModel . getPosition ( foldingAnnotation ) ; if ( ! newPos . equals ( oldPos ) ) { oldPos . setOffset ( newPos . offset ) ; oldPos . setLength ( newPos . length ) ; modifications . add ( foldingAnnotation ) ; } } else { deletions . add ( foldingAnnotation ) ; } } }
this is the default behavior for updating a dirtied indexedregion . this function can be overridden if slightly different functionality is required in a specific instance of this class .
