presto-main/src/main/java/io/prestosql/SessionRepresentation.java/SessionRepresentation/toSession
class SessionRepresentation:    public Session toSession(SessionPropertyManager sessionPropertyManager, Map<String, String> extraCredentials)
    {
        return new Session(
                new QueryId(queryId),
                transactionId,
                clientTransactionSupport,
                Identity.forUser(user)
                        .withPrincipal(principal.map(BasicPrincipal::new))
                        .withRoles(roles)
                        .withExtraCredentials(extraCredentials)
                        .build(),
                source,
                catalog,
                schema,
                path,
                traceToken,
                timeZoneKey,
                locale,
                remoteUserAddress,
                userAgent,
                clientInfo,
                clientTags,
                clientCapabilities,
                resourceEstimates,
                startTime,
                systemProperties,
                catalogProperties,
                unprocessedCatalogProperties,
                sessionPropertyManager,
                preparedStatements);
    }