// The client is detached right now so the merging update listener is paused. Although the following calls may
// cause initial updates to be pushed through, they will not be seen until the merging update listener is
// resumed, at which point the new permission provider will be in place.
ViewProcessorImpl viewProcessor = getViewProcessor();
ViewPermissionContext context = privateProcess ?
viewProcessor.attachClientToPrivateViewProcess(getUniqueId(), _mergingViewProcessListener, viewDefinitionId, executionOptions) :
viewProcessor.attachClientToSharedViewProcess(getUniqueId(), _mergingViewProcessListener, viewDefinitionId, executionOptions);
attachToViewProcessCore(context);
} finally {
_clientLock.unlock();