@Override
    public @NotNull Iterator<K> iterator() {
      return new LinkedHashIterator<K>() {
        @Override
        public K next() {
          return nextEntry().key;
        }
      };
    }
@Override
    public @NotNull Iterator<K> iterator()