Bug 329930 Resetting a perspective while its active part is not defined in the perspective causes the perspective to not have an active part after the reset
1. Window > Show View > Console 2. Window > Reset Perspective... > OK 3. No parts are active.
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/PartActivationHistory.java
private MPart getActivationCandidate(MPart part) {
		
		Collection<MPart> candidates = part.getContext().get(EPartService.class).getParts();
		return findActivationCandidate(candidates, part);
	}
	/**
	 * Finds and returns a part that is a valid candidate to be granted activation.
	 */
	private MPart findActivationCandidate(Collection<MPart> candidates, MPart currentlyActivePart) {
		candidates.remove(currentlyActivePart);
		MPlaceholder activePlaceholder = partService.getLocalPlaceholder(currentlyActivePart);
		for (MPart candidate : candidates) {
			
			if (isValid(candidate)) {
				MPlaceholder placeholder = partService.getLocalPlaceholder(candidate);
				MElementContainer<MUIElement> parent = placeholder == null ? candidate.getParent()
						: placeholder.getParent();
				
				
				if (parent instanceof MGenericStack) {
					MUIElement selection = parent.getSelectedElement();
					
					if (selection == activePlaceholder || selection == currentlyActivePart) {
						return candidate;
					}
					
					if (selection == candidate || selection == placeholder) {
						return candidate;
					}
				} else {