dap4/d4cdm/src/main/java/dap4/cdm/dsp/CDMDSP.java
protected void
    buildseqtypes(Variable cdmvar)
            throws DapException
    {
        if (CDMUtil.hasVLEN(cdmvar)) {
            buildseqtype(cdmvar);
        }
        if (cdmvar.getDataType() == DataType.STRUCTURE
                || cdmvar.getDataType() == DataType.SEQUENCE) {
            Structure struct = (Structure) cdmvar;
            List<Variable> fields = struct.getVariables();
            for (int i = 0; i < fields.size(); i++) {
                Variable field = fields.get(i);
                buildseqtypes(field); // recurse for inner vlen dims
            }
        }
    }
protected void
    buildseqtypes(Variable cdmvar)
            throws DapException
    {
        if (CDMUtil.hasVLEN(cdmvar)) {
            buildseqtype(cdmvar);
        }
        if (cdmvar.getDataType() == DataType.STRUCTURE
                || cdmvar.getDataType() == DataType.SEQUENCE) {
            Structure struct = (Structure) cdmvar;
            List<Variable> fields = struct.getVariables();
            for (int i = 0; i < fields.size(); i++) {
                Variable field = fields.get(i);
                buildseqtypes(field); // recurse for inner vlen dims
            }
        }
    }
Walk this variable, including fields, to construct sequence types
for any contained vlen dimensions

@param cdmvar variable to walk