public Queue createQueue(int queueId) throws QueueCreateException, QueueAlreadyExistsException {
        try {
            _out.writeInt(8); //Size
            _out.writeInt(Response.MSG_QUEUE_CREATE);
            _out.writeInt(queueId);
            _out.flush();

            int messageType = _in.readInt();
            if(messageType != Response.STATUS_OK) {
                int errorCode = _in.readInt();
                if(errorCode == Response.ERR_QUEUE_CREATE_EXCEPTION) {
                    throw new QueueCreateException(new Exception());
                } else if(errorCode == Response.ERR_QUEUE_ALREADY_EXISTS_EXCEPTION) {
                    throw new QueueAlreadyExistsException(new Exception());
                }
            }
            return new Queue(this, queueId);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }