docs: public void restore(String state) {
          JsonObject json = JsonObject.readFrom(state);
          String accessToken = json.get("accessToken").asString();
          String refreshToken = json.get("refreshToken").asString();
          long lastRefresh = json.get("lastRefresh").asLong();
          long expires = json.get("expires").asLong();
          String userAgent = json.get("userAgent").asString();
          String tokenURL = json.get("tokenURL").asString();
          String baseURL = json.get("baseURL").asString();
          String baseUploadURL = json.get("baseUploadURL").asString();
          boolean autoRefresh = json.get("autoRefresh").asBoolean();
          int maxRequestAttempts = json.get("maxRequestAttempts").asInt();
  
          this.accessToken = accessToken;
          this.refreshToken = refreshToken;
          this.lastRefresh = lastRefresh;
          this.expires = expires;
          this.userAgent = userAgent;
          this.tokenURL = tokenURL;
          this.baseURL = baseURL;
          this.baseUploadURL = baseUploadURL;
          this.autoRefresh = autoRefresh;
          this.maxRequestAttempts = maxRequestAttempts;
      }