SemanticTags { public static @Nullable Class<? extends Tag> getById(String tagId) { return TAGS.get(tagId); }  static @Nullable Class<? extends Tag> getById(String tagId); static @Nullable Class<? extends Tag> getByLabel(String tagLabel, Locale locale); static List<Class<? extends Tag>> getByLabelOrSynonym(String tagLabelOrSynonym, Locale locale); static List<String> getLabelAndSynonyms(Class<? extends Tag> tag, Locale locale); static String getLabel(Class<? extends Tag> tag, Locale locale); static @Nullable Class<? extends Tag> getSemanticType(Item item); @SuppressWarnings("unchecked") static @Nullable Class<? extends Property> getProperty(Item item);  }
@Test public void testByTagId() { assertEquals(Location.class, SemanticTags.getById("Location")); assertEquals(Room.class, SemanticTags.getById("Room")); assertEquals(Room.class, SemanticTags.getById("Location_Indoor_Room")); assertEquals(Bathroom.class, SemanticTags.getById("Bathroom")); assertEquals(Bathroom.class, SemanticTags.getById("Room_Bathroom")); assertEquals(Bathroom.class, SemanticTags.getById("Indoor_Room_Bathroom")); assertEquals(Bathroom.class, SemanticTags.getById("Location_Indoor_Room_Bathroom")); }