Bug 337002 EPartService leaks previously active part
A reference is kept to the previously active part. This is unnecessary. We only need it to fire events. After the deactivation events have been fired, we should no longer need to keep it lying around.
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/PartServiceImpl.java
recordStackActivation(part);
		modelService.bringToTop(part);
		window.getParent().setSelectedElement(window);
		Object object = part.getObject();
		if (object != null && requiresFocus) {
			try {
				ContextInjectionFactory.invoke(object, Focus.class, part.getContext(), null);
			} catch (InjectionException e) {
				log("Failed to grant focus to part", "Failed to grant focus to part ({0})", 
						part.getElementId(), e);
			} catch (RuntimeException e) {
				log("Failed to grant focus to part via DI", 
						"Failed to grant focus via DI to part ({0})", part.getElementId(), e); 
			}
		}
		partActivationHistory.activate(part, activateBranch);
	}
	/**
	 * Records the specified parent part's selected element in the activation history if the parent
	 * is a stack.
	 * 
	 * @param part
	 *            the part whose parent's selected element should be checked for activation history
	 *            recording
	 */
	private void recordStackActivation(MPart part) {