private synchronized java.util.List<NotifyMessageSet> createNotify(final BrokerKey key, final MALMessageHeader hdr, final MALPublishBody publishBody) throws MALInteractionException, MALException { MALBrokerImpl.LOGGER.fine("Checking provider"); final PublisherSource details = getProviderEntry(key, hdr, false); if (null == details) { MALBrokerImpl.LOGGER.warning("Provider not known"); throw new MALInteractionException(new MALStandardError(MALHelper.INCORRECT_STATE_ERROR_NUMBER, null)); } final UpdateHeaderList hl = publishBody.getUpdateHeaderList(); details.checkPublish(hdr, hl); final List<NotifyMessageSet> lst = new LinkedList<NotifyMessageSet>(); if (hl != null) { final Map<String, SubscriptionSource> rv = getConsumerMap(key); for (Map.Entry<String, SubscriptionSource> entry : rv.entrySet()) { entry.getValue().populateNotifyList(hdr, lst, hl, publishBody); } } return lst; }