Bug 23031 Package explorer does not update when input==package [package explorer]
From a java perspective, create a Java project with two packages (say test.package1 and test.package2). Create a couple of classes in both packages. From the package view, select test.package2 and from the context menu, open a new java window on it. Notice you only see the two classes you created in this package. Now go back to the other window, and move a class from test.package1 to test.package2. Go back to the new window, look at the package view and notice it still only displays 2 classes. Selecting refresh from the context menu does nothing. If you close the package view and open it again, then you see 3 classes.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerContentProvider.java
postRefresh(element);
				updateSelection(delta);
				return;
			}
		}
		
		if ((element instanceof ICompilationUnit) || (element instanceof IClassFile))
			return;
			
		
		if (element instanceof IPackageFragmentRoot && ((flags & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) != 0)) {
			postRefresh(element);
			return;
		}
		
		if (element instanceof IPackageFragmentRoot && (((flags & IJavaElementDelta.F_SOURCEATTACHED) != 0 || ((flags & IJavaElementDelta.F_SOURCEDETACHED)) != 0)))
			postUpdateIcon(element);
			
		if (isClassPathChange(delta)) {
			  
			postRefresh(element.getJavaProject());
			return;
		}
		
		if (processResourceDeltas(delta.getResourceDeltas(), element))
			return;
		handleAffectedChildren(delta, element);
	}
		
	private void handleAffectedChildren(IJavaElementDelta delta, IJavaElement element) throws JavaModelException {