docs: public boolean ping(Jid jid, long pingTimeout) throws NotConnectedException, NoResponseException, InterruptedException {
          final XMPPConnection connection = connection();
          // Packet collector for IQs needs an connection that was at least authenticated once,
          // otherwise the client JID will be null causing an NPE
          if (!connection.isAuthenticated()) {
              throw new NotConnectedException();
          }
          Ping ping = new Ping(jid);
          try {
              connection.createStanzaCollectorAndSend(ping).nextResultOrThrow(pingTimeout);
          }
          catch (XMPPErrorException e) {
              return isValidErrorPong(jid, e);
          }
          return true;
      }