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

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