return new HashIterator<V>(VALUES);
return new ValueIterator();
  public Collection<V> values()  {    if (values == null)      {        // We don't bother overriding many of the optional methods, as doing so        // wouldn't provide any significant performance advantage.        Collection<V> r = new AbstractCollection<V>()        {          public int size()          {            return size;          }          public Iterator<V> iterator()          {            return new HashIterator<V>(VALUES);          }          public void clear()          {            Hashtable.this.clear();          }        };        // We must specify the correct object to synchronize upon, hence the        // use of a non-public API        values = new Collections.SynchronizedCollection<V>(this, r);      }    return values;  }