Iterator<Map.Entry<K, V>> it = new HashIterator<Map.Entry<K, V>>(ENTRIES);
Iterator<Map.Entry<K, V>> it = new EntryIterator();
  private synchronized void writeObject(ObjectOutputStream s)    throws IOException  {    // Write the threshold and loadFactor fields.    s.defaultWriteObject();    s.writeInt(buckets.length);    s.writeInt(size);    // Since we are already synchronized, and entrySet().iterator()    // would repeatedly re-lock/release the monitor, we directly use the    // unsynchronized HashIterator instead.    Iterator<Map.Entry<K, V>> it = new HashIterator<Map.Entry<K, V>>(ENTRIES);    while (it.hasNext())      {        HashEntry<K, V> entry = (HashEntry<K, V>) it.next();        s.writeObject(entry.key);        s.writeObject(entry.value);      }  }