@Override
    protected TableModel tableModel(SerializedFile serialized) {
        Map<String, DataBlock> blocks = new LinkedHashMap<>();

        blocks.put("Header", serialized.headerBlock());
        blocks.put("Type Tree", serialized.metadata().typeTreeBlock());
        blocks.put("Object Info", serialized.metadata().objectInfoBlock());
        blocks.put("External Refs", serialized.metadata().externalsBlock());
        blocks.put("Object Data", serialized.objectDataBlock());

        TableBuilder table = new TableBuilder();
        table.row("Name", "Offset", "Size");

        blocks.entrySet().stream()
            .sorted((e1, e2) ->
                Long.compare(
                    e1.getValue().offset(),
                    e2.getValue().offset()
                )
            )
            .forEach(e -> {
                DataBlock block = e.getValue();
                table.row(
                    e.getKey(),
                    block.offset(),
                    block.length()
                );
            });

        TableModel model = new TableModel("Blocks", table.get());
        TextTableFormat format = model.format();
        format.columnFormatter(1, Formatters::hex);
        return model;
    }
@author Nico Bergemann <barracuda415 at yahoo.de>
disunity-cli/src/main/java/info/ata4/disunity/cli/command/asset/AssetBlocks.java