docs: private synchronized void reconnect() {
          XMPPConnection connection = this.weakRefConnection.get();
          if (connection == null) {
              LOGGER.fine("Connection is null, will not reconnect");
              return;
          }
          // Since there is no thread running, creates a new one to attempt
          // the reconnection.
          // avoid to run duplicated reconnectionThread -- fd: 16/09/2010
          if (reconnectionThread != null && reconnectionThread.isAlive())
              return;
  
          reconnectionThread = Async.go(reconnectionRunnable,
                          "Smack Reconnection Manager (" + connection.getConnectionCounter() + ')');
      }