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
IAdaptable[] elements = workingSet.getElements();
				List result = new ArrayList();
				for (int i = 0; i < elements.length; i++) {
					IAdaptable element = elements[i];
					ResourceMapping mapping = getResourceMapping(element);
					if (mapping != null) {
						result.add(mapping);
					}
				}
				if (!result.isEmpty()) {
					return new CompositeResourceMapping(
							ModelProvider.RESOURCE_MODEL_PROVIDER_ID,
							adaptableObject,
							(ResourceMapping[]) result
									.toArray(new ResourceMapping[result.size()]));
				}
			}
		}
		return null;
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
	 */
	public Class[] getAdapterList() {
		return new Class[] { IContributorResourceAdapter2.class,
				IWorkbenchAdapter.class, ResourceMapping.class };
	}
	ResourceMapping getResourceMapping(Object o) {