// 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.channels.FileChannel;
import java.util.UUID;
import java.util.Date;
import jext2.exceptions.IoError;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
	}

	public final void setMountCount(int mountCount) {
		this.mountCount = mountCount;
	}
	public final void setMaxMountCount(int maxMountCount) {
		this.maxMountCount = maxMountCount;
	}
	public final void setLastMount(Date lastMount) {
		this.lastMount = lastMount;
	}
	public final void setLastWrite(Date lastWrite) {
		this.lastWrite = lastWrite;
	}
	public final void setLastMounted(String lastMounted) {
		this.lastMounted = lastMounted;
	}
	public boolean hasFreeBlocks() {
		long freeBlocks = this.freeBlocksCount;
		long rootBlocks = this.reservedBlocksCount;

		if (freeBlocks < rootBlocks + 1) {
			// TODO support reserve blocks
			return false;
		}

		return true;
	}

	@Override
// 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/Superblock.java
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.util.UUID;
import java.util.Date;
import jext2.exceptions.IoError;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

	}

	public final void setMountCount(int mountCount) {
		this.mountCount = mountCount;
	}
	public final void setMaxMountCount(int maxMountCount) {
		this.maxMountCount = maxMountCount;
	}
	public final void setLastMount(Date lastMount) {
		this.lastMount = lastMount;
	}
	public final void setLastWrite(Date lastWrite) {
		this.lastWrite = lastWrite;
	}
	public final void setLastMounted(String lastMounted) {
		this.lastMounted = lastMounted;
	}
	public boolean hasFreeBlocks() {
		long freeBlocks = this.freeBlocksCount;
		long rootBlocks = this.reservedBlocksCount;

		if (freeBlocks < rootBlocks + 1) {
			// TODO support reserve blocks
			return false;
		}

		return true;
	}

	@Override
	protected void read(ByteBuffer buf) throws IoError {