/**
             * Sets the value.
             *
             * @param value  the new value for the entry
             * @return the old value for the entry
             */
            public override Object setValue(Object value)
            {
                Object key      = getKey();
                Object oldValue = owner.get(key);

                owner.put(key, value);
                Object newValue = owner.get(key);

                base.setValue(newValue);
                return(oldValue);
            }
            public Object next()
            {
                Object key   = iter.next();
                Object value = root.get(key);

                return(new MyMapEntry(root, key, value));
            }
 /**
  * Puts all of the writable properties from the given BeanMap into this
  * BeanMap. Read-only and Write-only properties will be ignored.
  *
  * @param map  the BeanMap whose properties to put
  */
 public void putAllWriteable(BeanMap map)
 {
     java.util.Iterator <Object> readableKeys = map.readMethods.keySet().iterator();
     while (readableKeys.hasNext())
     {
         Object key = readableKeys.next();
         if (getWriteMethod(key) != null)
         {
             this.put(key, map.get(key));
         }
     }
 }
            public Object next()
            {
                Object key = iter.next();

                return(root.get(key));
            }