//-----------------------------------------------------------------------

        /**
         * Clones the map creating an independent copy.
         * <p>
         * The clone will shallow clone the collections as well as the map.
         *
         * @return the cloned map
         */
        public Object clone()
        {
            MultiHashMap cloned = (MultiHashMap)base.MemberwiseClone();

            // clone each Collection container
            for (java.util.Iterator <java.util.MapNS.Entry <Object, Object> > it = cloned.entrySet().iterator(); it.hasNext();)
            {
                java.util.MapNS.Entry <Object, Object> entry   = it.next();
                java.util.Collection <Object>          coll    = (java.util.Collection <Object>)entry.getValue();
                java.util.Collection <Object>          newColl = createCollection(coll);
                entry.setValue(newColl);
            }
            return(cloned);
        }
 internal ValueIterator(MultiHashMap root)
 {
     this.root      = root;
     backedIterator = root.superValuesIterator();
 }
 public Values(MultiHashMap root)
 {
     this.root = root;
 }