public Pipeline(ITreeBuilder treeBuilder)
        {
            _treeBuilder     = treeBuilder;
            _buildCache      = new PipelineCache <IBuild>();
            _branchCache     = new PipelineCache <IBranch>();
            _definitionCache = new PipelineCache <IBuildDefinition>();

            _pipelineNotifier = new PipelineNotifier();
        }
        public Pipeline(ITreeBuilder treeBuilder, IConfiguration configuration)
        {
            _treeBuilder     = treeBuilder;
            _configuration   = configuration;
            _buildCache      = new PipelineCache <IBuild>();
            _branchCache     = new PipelineCache <IBranch>();
            _definitionCache = new PipelineCache <IBuildDefinition>();

            _pipelineNotifier = new PipelineNotifier();
        }
        public Pipeline(ITreeBuilder treeBuilder, IConfiguration configuration, IUserIdentityList userIdentityList)
        {
            _treeBuilder         = treeBuilder;
            _configuration       = configuration;
            _userIdentityList    = userIdentityList;
            _buildCache          = new PipelineCache <IBuild>();
            _branchCache         = new PipelineCache <IBranch>();
            _definitionCache     = new PipelineCache <IBuildDefinition>();
            _notificationFactory = new NotificationFactory(configuration, userIdentityList);
            _pipelineNotifier    = new PipelineNotifier();

            _currentSearch = new EmptySearch();
        }