dap4/d4lib/src/main/java/dap4/dap4lib/serial/D4DataCompiler.java
protected D4Cursor
    compileStructure(DapVariable var, DapStructure dapstruct, D4Cursor container)
            throws DapException
    {
        int pos = getPos(this.databuffer);
        D4Cursor d4ds = new D4Cursor(Scheme.STRUCTURE, (D4DSP) this.dsp, var, container)
                .setOffset(pos);
        List<DapVariable> dfields = dapstruct.getFields();
        for(int m = 0; m < dfields.size(); m++) {
            DapVariable dfield = dfields.get(m);
            D4Cursor dvfield = compileVar(dfield, d4ds);
            d4ds.addField(m, dvfield);
            assert dfield.getParent() != null;
        }
        return d4ds;
    }
protected D4Cursor
    compileStructure(DapVariable var, DapStructure dapstruct, D4Cursor container)
            throws DapException
    {
        int pos = getPos(this.databuffer);
        D4Cursor d4ds = new D4Cursor(Scheme.STRUCTURE, (D4DSP) this.dsp, var, container)
                .setOffset(pos);
        List<DapVariable> dfields = dapstruct.getFields();
        for(int m = 0; m < dfields.size(); m++) {
            DapVariable dfield = dfields.get(m);
            D4Cursor dvfield = compileVar(dfield, d4ds);
            d4ds.addField(m, dvfield);
            assert dfield.getParent() != null;
        }
        return d4ds;
    }
Compile a structure instance.

@param dapstruct The template
@param container
@return A DataStructure for the databuffer for this struct.
@throws DapException