* @throws IOException
*/
public Catalog(final HfsPlusFileSystem fs) throws IOException {
log.info("Load B-Tree catalog file.");
this.fs = fs;
SuperBlock sb = fs.getVolumeHeader();
catalogFile = sb.getCatalogFile();
if (!catalogFile.getExtent(0).isEmpty()) {
buffer = ByteBuffer.allocate(NodeDescriptor.BT_NODE_DESCRIPTOR_LENGTH +
BTHeaderRecord.BT_HEADER_RECORD_LENGTH);
catalogFile.read(fs, 0, buffer);