code: private boolean readMetaData()
      throws IOException
    {
      SegmentExtent metaExtentInit = new SegmentExtent(0, 0, META_SEGMENT_SIZE);
      
      try (InSegment reader = openRead(metaExtentInit)) {
        ReadStream is = reader.in();
        
        if (! readMetaDataHeader(is)) {
          return false;
        }
        
        _segmentId = 1;
      }
      
      int metaLength = _segmentMeta[0].size();
      
      SegmentExtent metaExtent = new SegmentExtent(0, 0, metaLength);
      
      _metaExtents.clear();
      _metaExtents.add(metaExtent);
      
      _metaAddress = 0;
      _metaOffset = META_OFFSET;
      _metaTail = _metaOffset + metaLength;
      
      while (true) {
        try (InSegment reader = openRead(metaExtent)) {
          ReadStream is = reader.in();
          
          if (metaExtent.address() == 0) {
            is.position(META_OFFSET);
          }
          
          long metaAddress = _metaAddress;
  
          while (readMetaDataEntry(is)) {
          }
          
          if (_metaAddress == metaAddress) {
            return true;
          }
          
          metaExtent = new SegmentExtent(0, _metaAddress, metaLength);
        }
      }
    }
docs: Reads metadata header for entire database.