if (changed[i].equals(resource)) {
if (changed[i] != null && changed[i].equals(resource)) {
				protected void handleLabelProviderChanged(LabelProviderChangedEvent event) {					Object input= getInput();					if (event instanceof ProblemsLabelChangedEvent) {						ProblemsLabelChangedEvent e= (ProblemsLabelChangedEvent) event;						if (e.isMarkerChange() && input instanceof ICompilationUnit) {							return; // marker changes can be ignored						}					}					// look if the underlying resource changed					Object[] changed= event.getElements();					if (changed != null) {						IResource resource= getUnderlyingResource();						if (resource != null) {							for (int i= 0; i < changed.length; i++) {								if (changed[i].equals(resource)) {									// change event to a full refresh									event= new LabelProviderChangedEvent((IBaseLabelProvider) event.getSource());									break;								}							}						}					}					super.handleLabelProviderChanged(event);				}