private static EmojiData read() throws IOException {
      Set<@NonNls String> tonedEmojiSet = readToned();
      EmojiData emojiData = new EmojiData();
      try (BufferedReader reader = new BufferedReader(new InputStreamReader(
        Objects.requireNonNull(EmojiService.class.getClassLoader().getResourceAsStream("data/emoji.txt")), StandardCharsets.UTF_8))) {
        EmojiCategory category = null;
        @NonNls String s;
        while ((s = reader.readLine()) != null) {
          if (s.isBlank()) {
            category = null;
          }
          else {
            if (category == null) {
              emojiData.myCategories.add(category = new EmojiCategory(s, new ArrayList<>()));
            }
            else {
              int id = emojiData.myEmoji.size();
              Emoji emoji = new Emoji(id, s, tonedEmojiSet.contains(s));
              emojiData.myEmoji.add(emoji);
              category.getEmoji().add(emoji);
              emojiData.indicesMap.put(s, id);
            }
          }
        }
      }
      return emojiData;
    }
private static EmojiData read()