private void toSlime(Cursor object) {
        object.setString(APPLICATION_ID_PATH, applicationId.serializedForm());
        applicationPackageReference.ifPresent(ref -> object.setString(APPLICATION_PACKAGE_REFERENCE_PATH, ref.value()));
        object.setString(VERSION_PATH, version.toString());
        versionToBuildFirst.ifPresent(v -> object.setString(VERSION_TO_BUILD_FIRST_PATH, v.toString()));
        object.setLong(CREATE_TIME_PATH, created.toEpochMilli());
        dockerImageRepository.ifPresent(image -> object.setString(DOCKER_IMAGE_REPOSITORY_PATH, image.asString()));
        athenzDomain.ifPresent(domain -> object.setString(ATHENZ_DOMAIN, domain.value()));
        quota.ifPresent(q -> q.toSlime(object.setObject(QUOTA_PATH)));

        Cursor tenantVaultArray = object.setArray(TENANT_VAULTS_PATH);
        TenantVaultSerializer.toSlime(tenantVaults, tenantVaultArray);

        Cursor tenantSecretStoresArray = object.setArray(TENANT_SECRET_STORES_PATH);
        TenantSecretStoreSerializer.toSlime(tenantSecretStores, tenantSecretStoresArray);

        Cursor operatorCertificatesArray = object.setArray(OPERATOR_CERTIFICATES_PATH);
        OperatorCertificateSerializer.toSlime(operatorCertificates, operatorCertificatesArray);

        cloudAccount.ifPresent(account -> object.setString(CLOUD_ACCOUNT_PATH, account.value()));

        Cursor dataplaneTokensArray = object.setArray(DATAPLANE_TOKENS_PATH);
        DataplaneTokenSerializer.toSlime(dataplaneTokens, dataplaneTokensArray);

        ActivationTriggersSerializer.toSlime(activationTriggers, object.setObject(ACTIVATION_TRIGGERS_PATH));
    }
Data class for session information, typically parameters supplied in a deployment request that needs
to be persisted in ZooKeeper. These will be used when creating a new session based on an existing one.

@author hmusum
configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionData.java