Genesys Cloud Java SDK: Configuring Thread-Safe HTTP Connection Pooling

Genesys Cloud Java SDK: Configuring Thread-Safe HTTP Connection Pooling

What You Will Build

  • You will configure the Genesys Cloud Java SDK to use a production-grade, thread-safe HTTP client with optimized connection pooling.
  • You will use the Genesys Cloud Java SDK (genesyscloud-java) to query user data and analytics.
  • You will implement the solution using Java 17+ with the Apache HttpClient 5 backend.

Prerequisites

  • OAuth Client Type: Confidential Client (Client Credentials Grant).
  • Required Scopes: user:read for user listing, analytics:query for conversation analytics.
  • SDK Version: Genesys Cloud Java SDK v24.3.0 or later.
  • Runtime: Java 17 or higher.
  • Dependencies:
    • com.mypurecloud.pyramid:genesyscloud-java (Latest Stable)
    • org.apache.httpcomponents.client5:httpclient5 (Included transitively, but explicit dependency ensures version control)
    • com.google.code.gson:gson (Included transitively for JSON parsing)

Authentication Setup

The Genesys Cloud Java SDK handles OAuth token acquisition automatically when you configure the PureCloudPlatformClientV2 with your client ID, client secret, and environment. The SDK caches the token and refreshes it transparently before expiration.

To ensure thread safety, the PureCloudPlatformClientV2 instance is designed to be shared across threads. However, the underlying HTTP client must be configured correctly to handle concurrent requests without blocking or resource exhaustion.

import com.mypurecloud.platform.client.ApiClient;
import com.mypurecloud.platform.client.Configuration;
import com.mypurecloud.platform.client.auth.OAuth;
import com.mypurecloud.platform.client.auth.OAuthFlow;
import com.mypurecloud.platform.client.util.PureCloudPlatformClient;

import java.util.concurrent.TimeUnit;

public class GenesysConfig {

    public static PureCloudPlatformClientV2 createPlatformClient(String clientId, String clientSecret, String environment) {
        // 1. Create the base API Client
        ApiClient apiClient = new ApiClient();

        // 2. Configure OAuth
        OAuth oauth = new OAuth();
        oauth.setClientId(clientId);
        oauth.setClientSecret(clientSecret);
        oauth.setFlow(OAuthFlow.CLIENT_CREDENTIALS);
        oauth.setEnvironment(environment); // e.g., "us-east-1" or "mypurecloud.com"

        // 3. Set the OAuth on the API Client
        apiClient.setOAuth(oauth);

        // 4. Create the Platform Client
        PureCloudPlatformClientV2 pureCloudPlatformClient = PureCloudPlatformClientV2.create();
        pureCloudPlatformClient.setApiClient(apiClient);

        return pureCloudPlatformClient;
    }
}

Implementation

Step 1: Configure the Underlying HTTP Client with Connection Pooling

The default ApiClient in the Genesys Cloud Java SDK uses a standard HTTP client implementation. For high-throughput applications, you must customize the OkHttpClient or Apache HttpClient backend to manage connection pooling explicitly. The Genesys Cloud Java SDK allows you to inject a custom HttpClient implementation.

We will use Apache HttpClient 5 via the OkHttpClient adapter provided by the SDK, or directly configure the OkHttpClient if the SDK version supports it. In recent versions, the SDK uses OkHttp by default. We will configure OkHttp with a custom ConnectionPool.

import com.mypurecloud.platform.client.ApiClient;
import com.mypurecloud.platform.client.auth.OAuth;
import com.mypurecloud.platform.client.auth.OAuthFlow;
import com.mypurecloud.platform.client.util.PureCloudPlatformClient;
import com.mypurecloud.platform.client.util.PureCloudPlatformClientV2;

import okhttp3.ConnectionPool;
import okhttp3.OkHttpClient;
import java.util.concurrent.TimeUnit;

public class AdvancedGenesysConfig {

    public static PureCloudPlatformClientV2 createOptimizedPlatformClient(String clientId, String clientSecret, String environment) {
        // 1. Create the base API Client
        ApiClient apiClient = new ApiClient();

        // 2. Configure OAuth
        OAuth oauth = new OAuth();
        oauth.setClientId(clientId);
        oauth.setClientSecret(clientSecret);
        oauth.setFlow(OAuthFlow.CLIENT_CREDENTIALS);
        oauth.setEnvironment(environment);
        apiClient.setOAuth(oauth);

        // 3. Configure OkHttpClient with Connection Pooling
        // Max idle connections: 200
        // Keep alive duration: 5 minutes
        ConnectionPool connectionPool = new ConnectionPool(200, 5, TimeUnit.MINUTES);

        OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .connectTimeout(10, TimeUnit.SECONDS)
                .readTimeout(30, TimeUnit.SECONDS)
                .writeTimeout(30, TimeUnit.SECONDS)
                .connectionPool(connectionPool)
                .retryOnConnectionFailure(true)
                .build();

        // 4. Inject the custom OkHttpClient into the ApiClient
        // Note: The Genesys Cloud Java SDK's ApiClient has a setHttpClient method
        // that accepts an OkHttp3 client.
        apiClient.setHttpClient(okHttpClient);

        // 5. Create the Platform Client
        PureCloudPlatformClientV2 pureCloudPlatformClient = PureCloudPlatformClientV2.create();
        pureCloudPlatformClient.setApiClient(apiClient);

        return pureCloudPlatformClient;
    }
}

Why this matters: Without explicit pooling, each HTTP request may open a new TCP connection. This causes latency (TCP handshake, TLS negotiation) and can exhaust file descriptors under load. A shared ConnectionPool reuses established connections across threads.

Step 2: Implement Thread-Safe API Calls

The PureCloudPlatformClientV2 is thread-safe. You can share a single instance across multiple threads. However, you must ensure that you do not modify the client configuration (e.g., changing OAuth scopes or headers) after it has been shared.

Below is a thread-safe service class that uses the configured client to fetch user data.

import com.mypurecloud.platform.client.ApiException;
import com.mypurecloud.platform.client.api.UsersApi;
import com.mypurecloud.platform.client.model.PagingEnvelope;
import com.mypurecloud.platform.client.model.User;

import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ThreadSafeUserService {

    private final PureCloudPlatformClientV2 platformClient;
    private final UsersApi usersApi;
    private final ExecutorService executorService;

    public ThreadSafeUserService(PureCloudPlatformClientV2 platformClient) {
        this.platformClient = platformClient;
        this.usersApi = platformClient.getUsersApi();
        // Use a fixed thread pool for controlled concurrency
        this.executorService = Executors.newFixedThreadPool(10);
    }

    /**
     * Fetches users asynchronously in a thread-safe manner.
     */
    public CompletableFuture<List<User>> fetchUsersAsync(int pageSize, int page, String divisionId) {
        return CompletableFuture.supplyAsync(() -> {
            try {
                // The UsersApi instance is thread-safe for read operations
                PagingEnvelope<User> users = usersApi.postUsers(
                    pageSize,
                    page,
                    null, // query
                    null, // expand
                    null, // fields
                    divisionId,
                    null, // presence
                    null, // userId
                    null, // email
                    null, // name
                    null, // externalId
                    null, // divisionExternalId
                    null, // presenceStatus
                    null, // presenceStatusName
                    null, // presenceStatusType
                    null, // presenceStatusTypeValue
                    null, // presenceStatusValue
                    null, // presenceStatusValueName
                    null, // presenceStatusValueValue
                    null, // presenceStatusValueValueName
                    null, // presenceStatusValueValueValue
                    null, // presenceStatusValueValueValueName
                    null, // presenceStatusValueValueValueValue
                    null, // presenceStatusValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueName
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue
                    null, // presenceStatusValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValueValue