opendap/src/main/java/opendap/dap/Attribute.java
public DAPNode cloneDAG(CloneMap map)
            throws CloneNotSupportedException
    {
        Attribute a = (Attribute) super.cloneDAG(map);
        // assume type, is_alias, and aliased_to have been cloned already
        if(type == CONTAINER)
            a.attr = (AttributeTable) cloneDAG(map, ((AttributeTable) attr));
        else
            a.attr = ((Vector) attr).clone(); // ok, attr is a vector of strings
        return a;
    }
public DAPNode cloneDAG(CloneMap map)
            throws CloneNotSupportedException
    {
        Attribute a = (Attribute) super.cloneDAG(map);
        // assume type, is_alias, and aliased_to have been cloned already
        if(type == CONTAINER)
            a.attr = (AttributeTable) cloneDAG(map, ((AttributeTable) attr));
        else
            a.attr = ((Vector) attr).clone(); // ok, attr is a vector of strings
        return a;
    }
Returns a clone of this <code>Attribute</code>.
See DAPNode.cloneDag()

@param map track previously cloned nodes
@return a clone of this <code>Attribute</code>.