opendap/src/main/java/opendap/dap/DSequence.java
public DAPNode cloneDAG(CloneMap map)
        throws CloneNotSupportedException
    {
        DSequence s = (DSequence) super.cloneDAG(map);

        s.varTemplate = new Vector();

        for (int i = 0; i < varTemplate.size(); i++) {
            BaseType bt = (BaseType) varTemplate.elementAt(i);
	        BaseType btclone = (BaseType)cloneDAG(map,bt);
            s.varTemplate.addElement(btclone);
        }

        s.allValues = new Vector();

        for (int i = 0; i < allValues.size(); i++) {
            Vector rowVec = (Vector) allValues.elementAt(i);
            Vector newVec = new Vector();
            for (int j = 0; j < rowVec.size(); j++) {
                BaseType bt = (BaseType) rowVec.elementAt(j);
                newVec.addElement((BaseType)cloneDAG(map,bt));
            }
            s.allValues.addElement(newVec);
        }
        return s;
    }
public DAPNode cloneDAG(CloneMap map)
        throws CloneNotSupportedException
    {
        DSequence s = (DSequence) super.cloneDAG(map);

        s.varTemplate = new Vector();

        for (int i = 0; i < varTemplate.size(); i++) {
            BaseType bt = (BaseType) varTemplate.elementAt(i);
	        BaseType btclone = (BaseType)cloneDAG(map,bt);
            s.varTemplate.addElement(btclone);
        }

        s.allValues = new Vector();

        for (int i = 0; i < allValues.size(); i++) {
            Vector rowVec = (Vector) allValues.elementAt(i);
            Vector newVec = new Vector();
            for (int j = 0; j < rowVec.size(); j++) {
                BaseType bt = (BaseType) rowVec.elementAt(j);
                newVec.addElement((BaseType)cloneDAG(map,bt));
            }
            s.allValues.addElement(newVec);
        }
        return s;
    }
Returns a clone of this <code>Sequence</code>.
See DAPNode.cloneDag()

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