Bug 114637 [Preferences] PlatformUI.getPreferenceStore() != WorkbenchPlugin.getPreferenceStore()
Somehow these two preference stores are no longer the same. This is causing all kinds of problems in themes because we're hooking theme listeners to one and then firing changes at another. As a result, themes just aren't working. I'm going to investigate
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/BuildOrderPreferencePage.java
IWorkspace.ProjectOrder projectOrder = getWorkspace()
                    .computeProjectOrder(workspace.getRoot().getProjects());
            IProject[] foundProjects = projectOrder.projects;
            defaultBuildOrder = new String[foundProjects.length];
            int foundSize = foundProjects.length;
            for (int i = 0; i < foundSize; i++) {
                defaultBuildOrder[i] = foundProjects[i].getName();
            }
        }
        return defaultBuildOrder;
    }
    /**
     * Return the Workspace the build order is from.
     * @return org.eclipse.core.resources.IWorkspace
     */
    private IWorkspace getWorkspace() {
        return ResourcesPlugin.getWorkspace();
    }
    /**
     * Return whether or not searchElement is in testArray.
     */
    private boolean includes(String[] testArray, String searchElement) {
        for (int i = 0; i < testArray.length; i++) {
            if (searchElement.equals(testArray[i]))
                return true;
        }
        return false;
    }
    /**
     * See IWorkbenchPreferencePage. This class does nothing with he Workbench.