public TestHelper Sign_job(SignerIdentifier signerIdentifier)
        {
            Assert_state(_jobResponse);

            var identifierValue = signerIdentifier.IsPersonalIdentificationNumber()
                ? ((PersonalIdentificationNumber)signerIdentifier).Value
                : ((CustomIdentifier)signerIdentifier).Value;

            var statusUrl = _directClient.AutoSign(_jobResponse.JobId, identifierValue).Result;

            try
            {
                var queryParams = new Uri(statusUrl).Query;

                var queryDictionary  = HttpUtility.ParseQueryString(queryParams);
                var statusQueryToken = queryDictionary.Get(0);

                var jobStatus = _jobResponse.StatusUrl;
                if (jobStatus != null && jobStatus.HasValue())
                {
                    _statusReference = MorphStatusReferenceIfMayBe(jobStatus.Status(statusQueryToken));
                }

                return(this);
            }
            catch (Exception)
            {
                throw new InvalidOperationException("Unable to auto-sign. This is probably a result of the backend not supporting the kind of job you are trying to sign.");
            }
        }