public Configuration[] getValidConfigurations() {
		// A state is valid for return if it is normal.
		ArrayList list = new ArrayList();
		Iterator it = configurationToButtonMap.values().iterator();
		while (it.hasNext()) {
			ConfigurationButton button = (ConfigurationButton) it.next();
			if (button.state == ConfigurationButton.NORMAL
					|| button.state == ConfigurationButton.FOCUSED)
				list.add(button.getConfiguration());
		}
		return (Configuration[]) list.toArray(new Configuration[0]);
	}