Bug 137640 [CommonNavigator] New java elements not selected in project explorer
3.2 RC1 - show the Project Explorer view - create a Java project - select the project and create a package (e.g. using the toolbar button) - the package is created, but not selected (it does get selected in the Package Explorer) - select the package - create a new class - the class is created, but not selected (works in the PE) In both cases, the selection gets cleared. This results in subsequent package or class creations not knowing which source folder they should apply to. E.g. try creating two packages in a row.
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/NavigatorPipelineService.java
}
 
	private void pipelineInterceptAdd(PipelinedShapeModification anAddModification, ContributorTrackingSet trackedSet, INavigatorContentDescriptor descriptor) {
		if(descriptor.hasOverridingExtensions()) {
			Set overridingDescriptors = descriptor.getOverriddingExtensions();
			for (Iterator overridingDescriptorsItr = overridingDescriptors.iterator(); overridingDescriptorsItr
					.hasNext();) {
				INavigatorContentDescriptor overridingDescriptor = (INavigatorContentDescriptor) overridingDescriptorsItr.next();
				if(contentService.isVisible(overridingDescriptor.getId()) && contentService.isActive(overridingDescriptor.getId())) {
					trackedSet.setContributor((NavigatorContentDescriptor) overridingDescriptor);
					NavigatorContentExtension extension = contentService.getExtension(overridingDescriptor);
					((IPipelinedTreeContentProvider) extension.internalGetContentProvider()).interceptAdd(anAddModification);					
					trackedSet.setContributor(null);
					pipelineInterceptAdd(anAddModification, trackedSet, overridingDescriptor);
				}
			}		
		}
	} 
	 
	/**
	 * Intercept attempts to remove elements directly from the viewer.
	 * 
	 * <p>
	 * For content extensions that reshape the structure of children in a
	 * viewer, their overridden extensions may sometimes use optimized refreshes
	 * to remove elements to the tree. These attempts must be intercepted and
	 * mapped to the correct set of model elements in the overridding extension.
	 * Clients may add, remove, or modify elements in the given set of removed
	 * children. Clients should return a set for downstream extensions to
	 * massage further.