public override void ActivateOptions() { base.ActivateOptions(); _repository = new MessageHeap<string>(); try { var constructor = MethodType .GetConstructor( BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public, null, new[] {typeof(string), typeof(IEnumerator<string>), typeof(INetworkMethodFilter<string>)}, null); _method = constructor .Invoke( new object[] { ConnectionString, _repository.GetEnumerator(), Activator.CreateInstance(FilterType) as INetworkMethodFilter<string> ?? new DefaultTitleFilter() }) as INetworkMethod; } catch(Exception exception) { LogLog.Error(_declaringType, string.Format("fall to initialize NetworkAppender: {0}", exception.GetType().Name)); } }