T? lookupValue<T>(String type, String name) { final key = _getKey(type, name); if (_values.containsKey(key)) { return _values[key] as T?; } return parent?.lookupValue<T>(type, name); }