/// <summary>
        /// Team Project Collection
        /// </summary>
        /// <param name="buildServer"></param>
        /// <returns></returns>
        private static TfsTeamProjectCollection GetTeamProjectCollection(BuildServer buildServer)//todo: replace with extension of TfsTeamProjectCollection?
        {
            var teamProjectCollection = TeamProjectCollectionFactory.GetTeamProjectCollection(buildServer);

            teamProjectCollection.EnsureAuthenticated();

            return teamProjectCollection;
        }
        public static TfsTeamProjectCollection GetTeamProjectCollection(BuildServer buildServer)
        {
            if (!buildServer.HasCredentials)
            {
                return new TfsTeamProjectCollection(buildServer.Uri);
            }

            var tfsCredentials = GetTfsCredentials(buildServer.Credentials);

            var teamProjectCollection = new TfsTeamProjectCollection(buildServer.Uri, tfsCredentials);

            return teamProjectCollection;
        }
        /// <summary>
        /// Event Service
        /// </summary>
        /// <param name="buildServer"></param>
        /// <returns></returns>
        public static IEventService GetEventService(BuildServer buildServer)
        {
            var teamProjectCollection = GetTeamProjectCollection(buildServer);

            return teamProjectCollection.GetService<IEventService>();
        }
        /// <summary>
        /// Common Structure Service
        /// </summary>
        /// <param name="buildServer"></param>
        /// <returns></returns>
        public static ICommonStructureService GetCommonStructureService(BuildServer buildServer)
        {
            var teamProjectCollection = GetTeamProjectCollection(buildServer);

            return teamProjectCollection.GetService<ICommonStructureService>();
        }
        /// <summary>
        /// Build Server
        /// </summary>
        /// <param name="buildServer"></param>
        /// <returns></returns>
        public static IBuildServer CreateBuildServer(BuildServer buildServer)
        {
            var teamProjectCollection = GetTeamProjectCollection(buildServer);

            return teamProjectCollection.GetService<IBuildServer>();
        }