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
if (needsToDelegateGetChildren(parentElement)) {
				Object[] packageFragments= fPackageFragmentProvider.getChildren(parentElement);
				children= getWithParentsResources(packageFragments, parentElement);
			} else {
				children= super.getChildren(parentElement);
			}
	
			if (parentElement instanceof IJavaProject) {
				IJavaProject project= (IJavaProject)parentElement;
				return rootsAndContainers(project, children);
			}
			else
				return children;
		} catch (CoreException e) {
			return NO_CHILDREN;
		}
	}
	private Object[] rootsAndContainers(IJavaProject project, Object[] roots) { 
		List result= new ArrayList(roots.length);
		Set containers= new HashSet(roots.length);
		for (int i= 0; i < roots.length; i++) {
			if (roots[i] instanceof IPackageFragmentRoot) {
				IPackageFragmentRoot root= (IPackageFragmentRoot)roots[i];
				IClasspathEntry entry= null;
				try {
					entry= root.getRawClasspathEntry();
				} catch (JavaModelException e) {
					continue;
				}
				if (entry != null && entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER)