void addMapByName(Map<String, V> map) { for (final key in keys.where((k) => map.containsKey(k.name))) { if (map[key.name] case V value when value != null) this[key] = value; } }