Map<T, String>? get reverse { // ignore: unnecessary_new reverseMap ??= map.map((k, v) => new MapEntry(v, k)); return reverseMap; }