public function createFullUseraccountV2(UserAccount $userAccount)
    {
        $this->resetRestClient();

        if (!$userAccount->getLocale()) {
            $userAccount->setLocale($this->locale);
        }

        if (!$userAccount->getTimeZone()) {
            $userAccount->setTimeZone($this->timezone);
        }

        if (!$userAccount->getEntityCode()) {
            $userAccount->setEntityCode($this->entity);
        }

        if (!$userAccount->getCredential()) {
            $userAccount->setCredential(
                array(
                    'wslogin' => $this->login,
                    'wspassword' => $this->password,
                )
            );
        }

        $parameters = $userAccount->mergeIntoParameters();

        $command = $this->restClient->getCommand(
            'RegisterNewAccount',
            $parameters['userAccount']
        );

        $result = $this->executeRest($command, $parameters);

        return new AccountInfo(
            $result['account_id'],
            $result['user_space_id'],
            $result['status'] === Identified::YES,
            $result['callback_salt']
        );
    }