public @Nullable CustomTabsSession newSession(final CustomTabsCallback callback, int id) {
        return newSessionInternal(callback, createSessionId(mApplicationContext, id));
    }
Creates a new session or updates a callback for the existing session
through an ICustomTabsService. This session can be used to associate any related
communication through the service with an intent and then later with a Custom Tab.
The client can then send later service calls or intents to through same
session-intent-Custom Tab association.
@param callback The callback through which the client will receive updates about the created
                session. Can be null. All the callbacks will be received on the UI thread.
@param id The session id. If the session with the specified id already exists,
          updates callback.
@return The session object that was created as a result of the transaction. The client can
        use this to relay session specific calls.
        Null on error.
customtabs/src/android/support/customtabs/CustomTabsClient.java