Map<T, String>? get reverse { if (reverseMap == null && map != null) { reverseMap = map!.map((k, v) => MapEntry(v, k)); } return reverseMap; }