private bool onDiscoMsg(MessageResponseHelper <IQMessage> helper, IQMessage msg) { if (msg is DiscoResponseMessage response && helper.getMessageSender() is XMPPClient client) { switch (response.DISCO_TYPE) { case DiscoType.ITEMS: addItems(response.ITEMS, response.getFrom(), client, true); break; case DiscoType.INFO: addFeatures(response.FEATURES, response.getFrom()); addIdentities(response.IDENTITIES, response.getFrom()); break; default: throw new InvalidOperationException("[" + nameof(DiscoDBManager) + "] Unexpected value for DISCO_TYPE: " + response.DISCO_TYPE); } } return(false); }