dap4/d4lib/src/main/java/dap4/dap4lib/DSPPrinter.java
protected void
    printVariable(DataCursor data, List<Slice> slices)
            throws DapException
    {
        DapVariable dapv = (DapVariable) data.getTemplate();
        if(data.isScalar()) {
            assert slices == Slice.SCALARSLICES;
            printScalar(data);
        } else {// not scalar
            printArray(data, slices);
        }
    }
protected void
    printVariable(DataCursor data, List<Slice> slices)
            throws DapException
    {
        DapVariable dapv = (DapVariable) data.getTemplate();
        if(data.isScalar()) {
            assert slices == Slice.SCALARSLICES;
            printScalar(data);
        } else {// not scalar
            printArray(data, slices);
        }
    }
Print an arbitrary DataVariable using a constraint.
<p>
Handling newlines is a bit tricky
so the rule is that the
last newline is elided and left
for the caller to print.
Exceptions: ?

@param data - the cursor to print
@throws DapException Note that the PrintWriter and CEConstraint are global.