protected function loadClientParams(Params $params, $receivedFromIdentifier, $version)
    {
        if ($params->authParams instanceof Params\AuthParams) {
            $this->authParams = $params->authParams;
            if (isset($params->sessionHandlerParams) &&
                $params->sessionHandlerParams instanceof Params\SessionHandlerParams
            ) {
                $params->sessionHandlerParams->authParams = $this->authParams;
            }
        } elseif (isset($params->sessionHandlerParams) &&
            $params->sessionHandlerParams->authParams instanceof Params\AuthParams
        ) {
            //@deprecated - Provide backwards compatibility with old authparams structure.
            //Github Issue 40 - retrieve AuthParams from sessionhandlerparams if not generally available
            $this->authParams = $params->sessionHandlerParams->authParams;
        }

        $this->sessionHandler = $this->loadSessionHandler(
            $params->sessionHandler,
            $params->sessionHandlerParams
        );

        $this->requestCreator = $this->loadRequestCreator(
            $params->requestCreator,
            $params->requestCreatorParams,
            $receivedFromIdentifier."-".$version,
            $this->sessionHandler->getOriginatorOffice(),
            $this->sessionHandler->getMessagesAndVersions()
        );

        $this->responseHandler = $this->loadResponseHandler(
            $params->responseHandler
        );

        $this->returnResultXml = $params->returnXml;
    }