public ILookup<IHandler, object> Inspect()
		{
			var @event = TrackedInstancesRequested;
			if (@event == null)
			{
				return null;
			}
			var args = new TrackedInstancesEventArgs();
			@event(this, args);

			return args.Items.ToLookup(k => k.Handler,b=>b.Instance);
		}
        public ILookup <IHandler, object> Inspect()
        {
            var @event = TrackedInstancesRequested;

            if (@event == null)
            {
                return(null);
            }
            var args = new TrackedInstancesEventArgs();

            @event(this, args);

            return(args.Items.ToLookup(k => k.Handler, b => b.Instance));
        }
		private void trackedComponentsDiagnostic_TrackedInstancesRequested(object sender, TrackedInstancesEventArgs e)
		{
			e.AddRange(TrackedObjects);
		}