// Path: src/jext2/exceptions/IoError.java
// public class IoError extends JExt2Exception {
// 	static final long serialVersionUID = 42;
// 	protected static final int ERRNO=Errno.EIO;
// 	public IoError(String msg) {
// 		super(msg);
// 	}
// 	public IoError() {
// 		super();
// 	}
// 	public int getErrno() {
// 		return ERRNO;
// 	}
// }


import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.channels.FileChannel;
import java.util.LinkedList;
import jext2.annotations.NotThreadSafe;
import jext2.exceptions.IoError;
		try {
			readToBufferUnsynchronized(dataBlock*blocksize + start*4, buffer);
		} catch (IoError e) {
			throw e;
		}

		for (int i=0; i<numEntries; i++) {
			result[i] = Ext2fsDataTypes.getLE32U(buffer, i*4);
		}

		return result;
	}

	/**
	 * Read block pointers from block. Skip pointers that are zero.
	 * Note: Since we return a list, you cannot use indices computed
	 * for the block with the result.
	 * @param   dataBlock   physical block number
	 * @param   start       index of first pointer to retrieve
	 * @param   end         index of last pointer to retrieve
	 * @return  list of non-zero block numbers found in block
	 */
	public LinkedList<Long>
	readBlockNrsFromBlockSkipZeros(long dataBlock, int start, int end) throws IoError {
		int numEntries = (end-start)+1;
		LinkedList<Long> result = new LinkedList<Long>();
		ByteBuffer buffer = ByteBuffer.allocate(numEntries*4);

		try {
			readToBufferUnsynchronized(dataBlock*blocksize + start*4, buffer);
// Path: src/jext2/exceptions/IoError.java
// public class IoError extends JExt2Exception {
// 	static final long serialVersionUID = 42;
// 	protected static final int ERRNO=Errno.EIO;
// 	public IoError(String msg) {
// 		super(msg);
// 	}
// 	public IoError() {
// 		super();
// 	}
// 	public int getErrno() {
// 		return ERRNO;
// 	}
// }


// Path: src/jext2/BlockAccess.java
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.channels.FileChannel;
import java.util.LinkedList;
import jext2.annotations.NotThreadSafe;
import jext2.exceptions.IoError;

		try {
			readToBufferUnsynchronized(dataBlock*blocksize + start*4, buffer);
		} catch (IoError e) {
			throw e;
		}

		for (int i=0; i<numEntries; i++) {
			result[i] = Ext2fsDataTypes.getLE32U(buffer, i*4);
		}

		return result;
	}

	/**
	 * Read block pointers from block. Skip pointers that are zero.
	 * Note: Since we return a list, you cannot use indices computed
	 * for the block with the result.
	 * @param   dataBlock   physical block number
	 * @param   start       index of first pointer to retrieve
	 * @param   end         index of last pointer to retrieve
	 * @return  list of non-zero block numbers found in block
	 */
	public LinkedList<Long>
	readBlockNrsFromBlockSkipZeros(long dataBlock, int start, int end) throws IoError {
		int numEntries = (end-start)+1;
		LinkedList<Long> result = new LinkedList<Long>();
		ByteBuffer buffer = ByteBuffer.allocate(numEntries*4);

		try {
			readToBufferUnsynchronized(dataBlock*blocksize + start*4, buffer);
		} catch (IoError e) {