/// <summary>
 /// Adds an enrich with delegate to the pipeline
 /// </summary>
 /// <param name="enrichWithDelegate"></param>
 public virtual void EnrichWithDelegate(EnrichWithDelegate enrichWithDelegate)
 {
     _enrichWithDelegates = _enrichWithDelegates.Add(enrichWithDelegate);
 }
 /// <summary>
 /// Enrich with delegate
 /// </summary>
 /// <param name="enrichWithDelegate">enrichment delegate</param>
 public void EnrichWithDelegate(EnrichWithDelegate enrichWithDelegate)
 {
 }
 public void EnrichWithDelegate(EnrichWithDelegate enrichWithDelegate)
 {
     throw new NotImplementedException();
 }
        /// <summary>
        /// Add an enrich with delegate to the strategy
        /// </summary>
        /// <param name="enrichWithDelegate"></param>
        public void EnrichWithDelegate(EnrichWithDelegate enrichWithDelegate)
        {
            if (_enrichWithDelegates == null)
            {
                _enrichWithDelegates = new List<EnrichWithDelegate>(1);
            }

            _enrichWithDelegates.Add(enrichWithDelegate);
        }