class ByteBuffer {

    public byte remove() throws BufferIsEmptyException {
        if (size() == 0) {
            throw new BufferIsEmptyException("Buffer is empty and no bytes available to remove");
        }
        byte b = this.buffer[this.currentReadPosition];
        this.currentReadPosition = (this.currentReadPosition + 1) % this.buffer.length;
        this.currentBufferSize -= 1;
        return b;
    }

    public  ByteBuffer();
    public  ByteBuffer(int capacity);
    public  ByteBuffer(byte[] bytes);
    public  ByteBuffer(byte[] bytes, int capacity);
    public  ByteBuffer(byte[] bytes, int offset, int length);
    public  ByteBuffer(byte[] bytes, int offset, int length, int capacity);
    public  ByteBuffer(String string0);
    public  ByteBuffer(String string0, int capacity);

}