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