Bug 314685 EModelService's findElements(MUIElement, String, Class<T>, List<String>) method can return duplicates
I'm getting two editors in the returned list that's pointing at the same thing. The returned collection is a List and not a Set but this feels wrong.
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/ModelServiceImpl.java
if (searchRoot instanceof MElementContainer<?>) {
			MElementContainer<MUIElement> container = (MElementContainer<MUIElement>) searchRoot;
			List<MUIElement> children = container.getChildren();
			for (MUIElement child : children) {
				findElementsRecursive(child, id, type, tagsToMatch, elements);
			}
		}
		
		if (searchRoot instanceof MTrimmedWindow) {
			MTrimmedWindow tw = (MTrimmedWindow) searchRoot;
			for (MTrimBar bar : tw.getTrimBars()) {
				findElementsRecursive(bar, id, type, tagsToMatch, elements);
			}
		}
		
		if (searchRoot instanceof MWindow) {
			MWindow window = (MWindow) searchRoot;
			for (MWindow dw : window.getWindows()) {
				findElementsRecursive(dw, id, type, tagsToMatch, elements);
			}
		}
		if (searchRoot instanceof MPerspective) {
			MPerspective persp = (MPerspective) searchRoot;
			for (MWindow dw : persp.getWindows()) {
				findElementsRecursive(dw, id, type, tagsToMatch, elements);
			}
		}
		
		if (searchRoot instanceof MPlaceholder) {
			MPlaceholder ph = (MPlaceholder) searchRoot;