public T next()
public Map.Entry<K,V> next()
      public Iterator<T> iterator()      {        return new UnmodifiableIterator<T>(c.iterator())	{	  /**	   * Obtains the next element from the underlying set of	   * map entries.	   *	   * @return the next element in the collection.	   * @throws NoSuchElementException if there are no more elements.	   */          public T next()          {            final Map.Entry e = (Map.Entry) super.next();            return (T) new Map.Entry()	    {	      /**	       * Returns <code>true</code> if the object, o, is also a map entry with an	       * identical key and value.	       *	       * @param o the object to compare.	       * @return <code>true</code> if o is an equivalent map entry.	       */              public boolean equals(Object o)              {                return e.equals(o);              }	      	      /**	       * Returns the key of this map entry.	       *	       * @return the key.	       */              public Object getKey()              {                return e.getKey();              }	      /**	       * Returns the value of this map entry.	       *	       * @return the value.	       */              public Object getValue()              {                return e.getValue();              }	      /**	       * Computes the hash code of this map entry.	       * The computation is described in the <code>Map</code>	       * interface documentation.	       *	       * @return the hash code of this entry.	       * @see Map#hashCode()	       */              public int hashCode()              {                return e.hashCode();              }	      /**	       * Blocks the alteration of the value of this map entry.	       * This method never returns, throwing an exception instead.	       *	       * @param value The new value.	       * @throws UnsupportedOperationException as an unmodifiable	       *         map entry does not support the <code>setValue()</code>	       *         operation.	       */              public Object setValue(Object value)              {                throw new UnsupportedOperationException();              }	      /**	       * Returns a textual representation of the map entry.	       *	       * @return The map entry as a <code>String</code>.	       */              public String toString()              {                return e.toString();              }	    };          }	};      }