public byte[] toByteArray(int off, int len)
	{
		if (off < 0 || len < 0 || off + len > count) {
			throw new IndexOutOfBoundsException();
		}
		byte[] data = new byte[len];
		System.arraycopy(buf, off, data, 0, len);
		return data;
	}
public byte[] toByteArray(int off, int len)
	{
		if (off < 0 || len < 0 || off + len > count) {
			throw new IndexOutOfBoundsException();
		}
		byte[] data = new byte[len];
		System.arraycopy(buf, off, data, 0, len);
		return data;
	}
public byte [ ] toByteArray ( int off , int len ) { if ( off < 0 || len < 0 || off + len > count ) { throw new IndexOutOfBoundsException ( ) ; } byte [ ] data = new byte [ len ] ; System . arraycopy ( buf , off , data , 0 , len ) ; return data ; }
Returns {@code len} bytes from this buffer, starting at {@code off}.

@param off the starting offset.
@param len the number of bytes to return.

@return the requested data bytes.

@throws IndexOutOfBoundsException if {@code off} or {@code len} is
negative or if {@code off + len} is greater than {@code size()}.
Returns { @code len } bytes from this buffer starting at { @code off } .