while (fc.size() - fc.position() > 8) {
long start = fc.position();
ByteBuffer bb = ByteBuffer.allocate(8);
bb.reset();
fc.read(bb);
long size = IsoTypeReader.readUInt32(bb);
String type = IsoTypeReader.read4cc(bb);
long end = start + size;
for (int i = 0; i < level; i++) {
System.out.print(" ");
}
System.out.println(type + "@" + (baseoffset + start) + " size: " + size);
if (containers.contains(type)) {
print(fc, level + 1, baseoffset + start + 8);
}
fc.position(end);
}