@NotNull
      @Override
      public Set<Entry<Integer, Void>> entrySet() {
        return new AbstractSet<Entry<Integer, Void>>() {
          @Override
          public Iterator<Entry<Integer, Void>> iterator() {
            IntIterator iterator = trigrams.iterator();
            return new Iterator<Entry<Integer, Void>>() {
              @Override
              public boolean hasNext() {
                return iterator.hasNext();
              }

              @Override
              public Entry<Integer, Void> next() {
                int key = iterator.nextInt();
                return new AbstractMap.SimpleImmutableEntry<>(key, null);
              }
            };
          }

          @Override
          public int size() {
            return trigrams.size();
          }
        };
      }
@NotNull
      @Override
      public Set<Entry<Integer, Void>> entrySet()