/// <summary>
        /// Initialize this instance.
        /// </summary>
        private void Initialize()
        {
            log.Info("Initializing user cache from build server (please be patient)");
            SvnCredentials vcsCredentials = new SvnCredentials(Config.GetVcsServerUrl(), Config.GetBuildServerUsername(), Config.GetVcsServerPassword());
            IVcsClient svnClient = VcsServerClientFactory.Create<SvnWrapperClient>(vcsCredentials);
            TeamCityCredentials buildServerCredentials = new TeamCityCredentials(Config.GetBuildServerUrl(), Config.GetBuildServerUsername(), Config.GetBuildServerPassword());
            IBuildServerClient teamCityClient = BuildServerClientFactory.Create<TeamCityWrapperClient>(buildServerCredentials, svnClient);

            // This is supposed to crash this server if the remote servers/services can't be reached
            this.userCache.Initialize(teamCityClient);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="TeamCityWrapperClient"/> class.
 /// </summary>
 /// <param name="credentials">The build server's credentials.</param>
 /// <param name="vcsClient">The VCS client. The v6.5 and v7.0 versions of TeamCity's REST API doesn't provide the username for the revision that triggered a build, and the request to get changes for a build is always empty. </param>
 public TeamCityWrapperClient(TeamCityCredentials credentials, IVcsClient vcsClient)
 {
     this.buildServerClient = new TeamCityClient(credentials.Url, credentials.Username, credentials.Password);
     this.vcsClient = vcsClient;
 }