Bug 127451 [Mapping] Model provider and working set mappings must be dynamic
The model provider and working set mappings must be dynamic. Currently they use CompositeResourceMapping which means that changes to the projects of the model provider or the contents of the working set get missed if someone holds onto a mapping.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkingSetAdapterFactory.java
Object mapping = internalGetAdapter(o, ResourceMapping.class);
		if (mapping instanceof ResourceMapping) {
			return (ResourceMapping) mapping;
		}
		
		Object resource = internalGetAdapter(o, IResource.class);
		if (resource != null) {
			mapping = internalGetAdapter(resource, ResourceMapping.class);
			if (mapping instanceof ResourceMapping) {
				return (ResourceMapping) mapping;
			}
		}
		return null;
	}
	ResourceMapping getContributedResourceMapping(
			IAdaptable element) {
		Object resourceAdapter = internalGetAdapter(element,
				IContributorResourceAdapter.class);
		if (resourceAdapter != null) {
			if (resourceAdapter instanceof IContributorResourceAdapter2) {
				
				IContributorResourceAdapter2 mappingAdapter = (IContributorResourceAdapter2) resourceAdapter;
				ResourceMapping mapping = mappingAdapter
						.getAdaptedResourceMapping(element);
				if (mapping != null) {
					return mapping;
				}
			}
			if (resourceAdapter instanceof IContributorResourceAdapter) {