public final Entry<V> next() {
          Node<V> p;
          if ((p = next) == null)
              throw new NoSuchElementException();
          int k = p.key;
          V v = p.val;
          lastReturned = p;
          advance();
        return new SimpleEntry<>(k, v);
      }
public final Entry<V> next()