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
IJavaElementDelta[] affectedChildren= delta.getAffectedChildren();
		for (int i= 0; i < affectedChildren.length; i++) 
			return findAddedElement(affectedChildren[i]);
			
		return null;
	}
	/**
	 * Refreshes the Compilation unit corresponding to the workging copy
	 * @param iWorkingCopy
	 */
	private void refreshWorkingCopy(IWorkingCopy workingCopy) {
		IJavaElement original= workingCopy.getOriginalElement();
		if (original != null)
			postRefresh(original, false);
	}
	private boolean isWorkingCopy(IJavaElement element) {
		return (element instanceof IWorkingCopy) && ((IWorkingCopy)element).isWorkingCopy();
	}
	
	/**
	 * Updates the package icon
	 */
	 private void postUpdateIcon(final IJavaElement element) {
	 	postRunnable(new Runnable() {
			public void run() {
				
				Control ctrl= fViewer.getControl();
				if (ctrl != null && !ctrl.isDisposed()) 
					fViewer.update(element, new String[]{IBasicPropertyConstants.P_IMAGE});