/** * Returns true if we already have messages to emit or if {@link BufferingSubscriber#getMessages()} returns non-null * and non-empty {@link List} of messages. Otherwise, returns false. * * @return A boolean denoting whether we do have messages to emit. * @throws PubSubException if there was an issue reading the messages. */ protected boolean haveMessages() throws PubSubException { if (!receivedMessages.isEmpty()) { return true; } List<PubSubMessage> messages = getMessages(); if (messages == null || messages.isEmpty()) { return false; } receivedMessages.addAll(messages); return true; }