@Override
            protected void onPostExecute(Connection newConnection) {
                if (newConnection == null) {
                    wrappedCallback.onConnected(null);
                } else {
                    mConnections.put(scope, newConnection);
                }
            }
Connects to the appropriate {@link TrustedWebActivityService} or uses an existing connection
if available and runs code once connected.
<p>
To find a Service to connect to, this method attempts to resolve an
{@link Intent#ACTION_VIEW} Intent with the {@code scope} as data. The first of the resolved
packages that registered (through {@link #registerClient}) to {@code origin} will be chosen.
Finally, an Intent with the action {@link TrustedWebActivityService#INTENT_ACTION} will be
used to find the Service.
<p>
This method should be called on the UI thread.

@param scope The scope used in an Intent to find packages that may have a
             {@link TrustedWebActivityService}.
@param origin An origin that the {@link TrustedWebActivityService} package must be registered
              to.
@param callback A {@link ExecutionCallback} that will be run with a connection.
                It will be run on a background thread from the ThreadPool as most methods
                from {@link TrustedWebActivityServiceWrapper} require this.
                Any {@link RemoteException} or {@link RuntimeException} exceptions thrown by
                the callback will be swallowed.
                This is to allow users to deal with exceptions thrown by
                {@link TrustedWebActivityServiceWrapper} if they wish, but to fail
                gracefully if they don't.
@return Whether a {@link TrustedWebActivityService} was found.
customtabs/src/android/support/customtabs/trusted/TrustedWebActivityServiceConnectionManager.java