public List<IWorkbenchPartReference> partsInActivationOrder(List<IWorkbenchPartReference> editorReferences) {
		ArrayList<IWorkbenchPartReference> results = new ArrayList<IWorkbenchPartReference>();
		
		for (IWorkbenchPart part : activationOrder) {
			IWorkbenchPartReference matchingPartReference = null;
			for (IWorkbenchPartReference partReference : editorReferences) {
				if(partReference.getPart(false) == part) {
					results.add(partReference);
					matchingPartReference = partReference;
					break;
				}
			}
			
			if(matchingPartReference != null)
				editorReferences.remove(matchingPartReference);
		}
		
		results.addAll(editorReferences);
		
		return results;
	}