@Override
    protected boolean xsend (Msg msg_, int flags_)
    {
        //  If we are in the middle of receiving a request, we cannot send reply.
        if (!sending_reply) {
            throw new IllegalStateException("Cannot send another reply");
        }

        boolean more = msg_.has_more();

        //  Push message to the reply pipe.
        boolean rc = super.xsend (msg_, flags_);
        if (!rc)
            return rc;

        //  If the reply is complete flip the FSM back to request receiving state.
        if (!more)
            sending_reply = false;

        return true;
    }