opendap/src/main/java/opendap/dap/DGrid.java
public DAPNode cloneDAG(CloneMap map)
        throws CloneNotSupportedException
    {
        DGrid g = (DGrid) super.cloneDAG(map);
        g.arrayVar = (DArray) cloneDAG(map,arrayVar);
        g.mapVars = new Vector();
        for (int i = 0; i < mapVars.size(); i++) {
            BaseType bt = (BaseType) mapVars.elementAt(i);
	        BaseType btclone = (BaseType)cloneDAG(map,bt);
            g.mapVars.addElement(btclone);
        }
        return g;
    }
public DAPNode cloneDAG(CloneMap map)
        throws CloneNotSupportedException
    {
        DGrid g = (DGrid) super.cloneDAG(map);
        g.arrayVar = (DArray) cloneDAG(map,arrayVar);
        g.mapVars = new Vector();
        for (int i = 0; i < mapVars.size(); i++) {
            BaseType bt = (BaseType) mapVars.elementAt(i);
	        BaseType btclone = (BaseType)cloneDAG(map,bt);
            g.mapVars.addElement(btclone);
        }
        return g;
    }
Returns a clone of this <code>DGrid</code>.
See DAPNode.cloneDag()

@param map track previously cloned nodes
@return a clone of this object.