docs: public RTMClient rtmConnect(String apiToken, boolean fullUserInfoRequired) throws IOException {
          try {
              RTMConnectResponse response = methods().rtmConnect(RTMConnectRequest.builder().token(apiToken).build());
              if (response.isOk()) {
                  User connectedBotUser = response.getSelf();
                  if (fullUserInfoRequired) {
                      String userId = response.getSelf().getId();
                      UsersInfoResponse resp = this.methods().usersInfo(UsersInfoRequest.builder().token(apiToken).user(userId).build());
                      if (resp.isOk()) {
                          connectedBotUser = resp.getUser();
                      } else {
                          String errorMessage = "Failed to get fill user info (user id: " + response.getSelf().getId() + ", error: " + resp.getError() + ")";
                          throw new IllegalStateException(errorMessage);
                      }
                  }
                  return new RTMClient(this, apiToken, response.getUrl(), connectedBotUser);
              } else {
                  throw new IllegalStateException("Failed to the RTM endpoint URL (error: " + response.getError() + ")");
              }
          } catch (SlackApiException e) {
              throw new IllegalStateException(
                      "Failed to connect to the RTM API endpoint. (" +
                              "status: " + e.getResponse().code() + ", " +
                              "error: " + e.getError().getError() +
                              ")", e);
          } catch (URISyntaxException e) {
              throw new IllegalStateException(
                      "Failed to connect to the RTM API endpoint. (message: " + e.getMessage() + ")", e);
          }
      }