* @throws Exception if there is no value mapped to by the key
* @throws IllegalArgumentException if the value mapped to by the key is not a {@link SmartDashboardData}
* @throws IllegalArgumentException if the key is null
*/
public static SmartDashboardData getData(String key) throws Exception {
NetworkTable subtable = table.getSubTable(key);
Object data = tablesToData.get(subtable);
if (data == null) {
throw new IllegalArgumentException("Value at \"" + key + "\" is not a boolean");
} else {
return (SmartDashboardData) data;