public byte[] getData() {
public byte[] getData() throws IOException {
		public byte[] getData() {			if (data != null)				return data;			SinglePage page = firstPage;			Value v;			long pnum;			long next;			byte[] temp;			int len;			ByteArrayOutputStream os =				new ByteArrayOutputStream(page.getPageHeader().getDataLength());			do {				temp = page.getData();				next = page.getPageHeader().getNextInChain();				len = next > 0 ? fileHeader.getWorkSize() : page.getPageHeader().getDataLength();				os.write(temp, 0, len);				if (next > 0) {					page = (SinglePage) getDataPage(next);					pages.add(page);				}			} while (next > 0);			data = os.toByteArray();			if (data.length != firstPage.getPageHeader().getDataLength()) {				LOG.warn(					getFile().getName()						+ " read="						+ data.length						+ "; expected="						+ firstPage.getPageHeader().getDataLength());			}			return data;		}