if (fTextWidget != null && !fTextWidget.isDisposed() && !fIsModelChanging) { Display d= fTextWidget.getDisplay(); if (d != null) { d.asyncExec(new Runnable() { public void run() { if (fTextWidget != null && !fTextWidget.isDisposed()) {  disablePainting(true);  try { fIsModelChanging= true; setModel(model); } finally { fIsModelChanging= false; }  enablePainting(); } } }); }
if (fTextWidget != null && !fTextWidget.isDisposed()) { if (fIsSettingModel) {  updatePainting(); } else { Display d= fTextWidget.getDisplay(); if (d != null) { d.asyncExec(new Runnable() { public void run() { if (fTextWidget != null && !fTextWidget.isDisposed()) updatePainting(); } }); } }
	public void modelChanged(final IAnnotationModel model) {		if (fTextWidget != null && !fTextWidget.isDisposed() && !fIsModelChanging) {			Display d= fTextWidget.getDisplay();			if (d != null) {				d.asyncExec(new Runnable() {					public void run() {						if (fTextWidget != null && !fTextWidget.isDisposed()) {														disablePainting(true);														try {								fIsModelChanging= true;								setModel(model);							} finally {								fIsModelChanging= false;							}														enablePainting();						}									}				});			}			}	}