Bug 51851 [navigation] Outliner is not updated correctly
build 20040212 1) create the following class public class X { int aaa } 2) place your cursor just after 'aaa' 3) type "bbb,ccc" the outliner contain -------------- X +-ccc : int -------------- 'aaa' and 'bbb' are missing (sometimes the problem does not occur) Java delta seems correct FIRING POST_CHANGE Delta [Thread [org.eclipse.jdt.internal.ui.text.JavaReconciler,1,main]]: <NONE> FIRING POST_RECONCILE Delta [Thread [org.eclipse.jdt.internal.ui.text.JavaReconciler,1,main]]: [Working copy] X.java[*]: {CHILDREN | FINE GRAINED} X[*]: {CHILDREN | FINE GRAINED} bbb[+]: {} ccc[+]: {}
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaOutlinePage.java
base= getMainType(cu);
									if (base == null) {
										if (fOutlineViewer != null)
											fOutlineViewer.refresh(true);
										return;
									}
								}
								IJavaElementDelta delta= findElement(base, e.getDelta());
								if (delta != null && fOutlineViewer != null) {
									fOutlineViewer.reconcile(delta);
								}
							}
						});
					}
				}
				
				private boolean isPossibleStructuralChange(IJavaElementDelta cuDelta) {
					if (cuDelta.getKind() != IJavaElementDelta.CHANGED) {
						return true; 
					}
					int flags= cuDelta.getFlags();
					if ((flags & IJavaElementDelta.F_CHILDREN) != 0) {
						return true;
					}
					return (flags & (IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_FINE_GRAINED)) == IJavaElementDelta.F_CONTENT;
				}
				
				protected IJavaElementDelta findElement(IJavaElement unit, IJavaElementDelta delta) {
					
					if (delta == null || unit == null)