private void encodeCells(GrowableByteBuffer buffer, Tensor tensor, Consumer<Double> consumer) {
        for (Iterator<Tensor.Cell> i = tensor.cellIterator(); i.hasNext(); ) {
            Tensor.Cell cell = i.next();
            encodeAddress(buffer, cell.getKey());
            consumer.accept(cell.getValue());
        }
    }
Implementation of a sparse binary format for a tensor on the form:

Sorted dimensions = num_dimensions [dimension_str_len dimension_str_bytes]*
Cells = num_cells [label_1_str_len label_1_str_bytes ... label_N_str_len label_N_str_bytes cell_value]*

Note that the dimensions are sorted and the tensor address labels are given in the same sorted order.
Unspecified labels are encoded as the empty string "".

@author geirst
vespajlib/src/main/java/com/yahoo/tensor/serialization/SparseBinaryFormat.java