docs: private static OmemoDeviceListElement fetchDeviceList(XMPPConnection connection, BareJid contact)
              throws InterruptedException, PubSubException.NotALeafNodeException, SmackException.NoResponseException,
              SmackException.NotConnectedException, XMPPException.XMPPErrorException,
              PubSubException.NotAPubSubNodeException {
  
          PubSubManager pm = PubSubManager.getInstanceFor(connection, contact);
          String nodeName = OmemoConstants.PEP_NODE_DEVICE_LIST;
          LeafNode node = pm.getLeafNode(nodeName);
  
          if (node == null) {
              return null;
          }
  
          List<PayloadItem<OmemoDeviceListElement>> items = node.getItems();
          if (items.isEmpty()) {
              return null;
          }
  
          return items.get(items.size() - 1).getPayload();
      }