return;  if ((delta.getFlags() & (IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_CHILDREN)) == 0)
	protected void processDelta(IJavaElementDelta delta) {		if (!isInstalled())			return;		ProjectionAnnotationModel model= (ProjectionAnnotationModel) fEditor.getAdapter(ProjectionAnnotationModel.class);		if (model == null)			return;		try {			IDocumentProvider provider= fEditor.getDocumentProvider();			fCachedDocument= provider.getDocument(fEditor.getEditorInput());			fAllowCollapsing= false;			fFirstType= null;			fHasHeaderComment= false;			Map additions= new HashMap();			List deletions= new ArrayList();			List updates= new ArrayList();			Map updated= computeAdditions((IParent) fInput);			Map previous= createAnnotationMap(model);			Iterator e= updated.keySet().iterator();			while (e.hasNext()) {				JavaProjectionAnnotation newAnnotation= (JavaProjectionAnnotation) e.next();				IJavaElement element= newAnnotation.getElement();				Position newPosition= (Position) updated.get(newAnnotation);				List annotations= (List) previous.get(element);				if (annotations == null) {					additions.put(newAnnotation, newPosition);				} else {					Iterator x= annotations.iterator();					boolean matched= false;					while (x.hasNext()) {						Tuple tuple= (Tuple) x.next();						JavaProjectionAnnotation existingAnnotation= tuple.annotation;						Position existingPosition= tuple.position;						if (newAnnotation.isComment() == existingAnnotation.isComment()) {							if (existingPosition != null && (!newPosition.equals(existingPosition))) {								existingPosition.setOffset(newPosition.getOffset());								existingPosition.setLength(newPosition.getLength());								updates.add(existingAnnotation);							}							matched= true;							x.remove();							break;						}					}					if (!matched)						additions.put(newAnnotation, newPosition);					if (annotations.isEmpty())						previous.remove(element);				}			}			e= previous.values().iterator();			while (e.hasNext()) {				List list= (List) e.next();				int size= list.size();				for (int i= 0; i < size; i++)					deletions.add(((Tuple) list.get(i)).annotation);			}			match(model, deletions, additions, updates);			Annotation[] removals= new Annotation[deletions.size()];			deletions.toArray(removals);			Annotation[] changes= new Annotation[updates.size()];			updates.toArray(changes);			model.modifyAnnotations(removals, additions, changes);		} finally {			fCachedDocument= null;			fAllowCollapsing= true;			fFirstType= null;			fHasHeaderComment= false;		}	}