public UnsubscriptionMessage unSubscribe(String subID) throws ClientException { UnsubscriptionMessage resultMsg = null; boolean sendRequest = true; for (BrokerState brokerState : brokerStates.values()) { sendRequest = true; if (clientConfig.detailState) sendRequest = brokerState.containsSub(subID); if (sendRequest) { resultMsg = unSubscribe(subID, brokerState); } } if (!sendRequest) throw new ClientException("Subscription not found"); return resultMsg; }