public void ParseStreamForListViews()
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action(() => ParseStreamForListViews()));
                return;
            }

            StreamParser.ParseStreamIntoListView(CurrentNetworkStream, CurrentNetworkStream.ActorNameToSummary, ActorListView);
            StreamParser.ParseStreamIntoListView(CurrentNetworkStream, CurrentNetworkStream.PropertyNameToSummary, PropertyListView);
            StreamParser.ParseStreamIntoListView(CurrentNetworkStream, CurrentNetworkStream.RPCNameToSummary, RPCListView);
            StreamParser.ParseStreamIntoReplicationListView(CurrentNetworkStream, CurrentNetworkStream.ObjectNameToReplicationSummary, ObjectReplicationListView);

            ActorFilterBox.Items.Clear();
            ActorFilterBox.Items.Add("");

            PropertyFilterBox.Items.Clear();
            PropertyFilterBox.Items.Add("");

            RPCFilterBox.Items.Clear();
            RPCFilterBox.Items.Add("");

            foreach (var SummaryEntry in CurrentNetworkStream.ActorNameToSummary)
            {
                ActorFilterBox.Items.Add(CurrentNetworkStream.GetName(SummaryEntry.Key));
            }

            foreach (var SummaryEntry in CurrentNetworkStream.PropertyNameToSummary)
            {
                PropertyFilterBox.Items.Add(CurrentNetworkStream.GetName(SummaryEntry.Key));
            }

            foreach (var SummaryEntry in CurrentNetworkStream.RPCNameToSummary)
            {
                RPCFilterBox.Items.Add(CurrentNetworkStream.GetName(SummaryEntry.Key));
            }

            ConnectionListBox.Items.Clear();

            int NumberOfAddresses = (CurrentNetworkStream.GetVersion() < 12) ?
                                    CurrentNetworkStream.AddressArray.Count : CurrentNetworkStream.StringAddressArray.Count;

            for (int i = 0; i < NumberOfAddresses; i++)
            {
                ConnectionListBox.Items.Add(CurrentNetworkStream.GetIpString(i, CurrentNetworkStream.GetVersion()));
            }


            for (int i = 0; i < ConnectionListBox.Items.Count; ++i)
            {
                ConnectionListBox.SetItemChecked(i, true);
            }
        }
        public void ParseStreamForListViews()
        {
            if (Dispatcher.CheckAccess() == false)
            {
                Dispatcher.Invoke(new Action(() => ParseStreamForListViews()));
                return;
            }

            StreamParser.ParseStreamIntoListView(CurrentNetworkStream, CurrentNetworkStream.ActorNameToSummary, ActorListView);
            StreamParser.ParseStreamIntoListView(CurrentNetworkStream, CurrentNetworkStream.PropertyNameToSummary, PropertyListView);
            StreamParser.ParseStreamIntoListView(CurrentNetworkStream, CurrentNetworkStream.RPCNameToSummary, RPCListView);
            StreamParser.ParseStreamIntoReplicationListView(CurrentNetworkStream, CurrentNetworkStream.ObjectNameToReplicationSummary, ObjectReplicationListView);

            ActorFilterBox.Items.Clear();
            ActorFilterBox.Items.Add("");

            PropertyFilterBox.Items.Clear();
            PropertyFilterBox.Items.Add("");

            RPCFilterBox.Items.Clear();
            RPCFilterBox.Items.Add("");

            foreach (var SummaryEntry in CurrentNetworkStream.ActorNameToSummary)
            {
                ActorFilterBox.Items.Add(CurrentNetworkStream.GetName(SummaryEntry.Key));
            }

            foreach (var SummaryEntry in CurrentNetworkStream.PropertyNameToSummary)
            {
                PropertyFilterBox.Items.Add(CurrentNetworkStream.GetName(SummaryEntry.Key));
            }

            foreach (var SummaryEntry in CurrentNetworkStream.RPCNameToSummary)
            {
                RPCFilterBox.Items.Add(CurrentNetworkStream.GetName(SummaryEntry.Key));
            }

            ConnectionListBox.Items.Clear();

            int NumberOfAddresses = (CurrentNetworkStream.GetVersion() < 12) ? CurrentNetworkStream.AddressArray.Count : CurrentNetworkStream.StringAddressArray.Count;

            for (int i = 0; i < NumberOfAddresses; i++)
            {
                CheckBox ConnectionCheckbox = new CheckBox();
                ConnectionCheckbox.Content    = CurrentNetworkStream.GetIpString(i, CurrentNetworkStream.GetVersion());
                ConnectionCheckbox.IsChecked  = true;
                ConnectionCheckbox.Checked   += ConnectionListBoxItemChecked;
                ConnectionCheckbox.Unchecked += ConnectionListBoxItemUnChecked;
                ConnectionListBox.Items.Add(ConnectionCheckbox);
            }
        }
 private void ChangeNetworkStream(Stream ParserStream)
 {
     try
     {
         CurrentNetworkStream = StreamParser.Parse(ParserStream);
         StreamParser.ParseStreamIntoListView(CurrentNetworkStream, CurrentNetworkStream.ActorNameToSummary, ActorListView);
         StreamParser.ParseStreamIntoListView(CurrentNetworkStream, CurrentNetworkStream.PropertyNameToSummary, PropertyListView);
         StreamParser.ParseStreamIntoListView(CurrentNetworkStream, CurrentNetworkStream.RPCNameToSummary, RPCListView);
         ChartParser.ParseStreamIntoChart(CurrentNetworkStream, NetworkChart, CurrentActorFilter, CurrentPropertyFilter, CurrentRPCFilter);
     }
     catch (System.Exception)
     {
         CurrentNetworkStream = null;
         foreach (var Series in NetworkChart.Series)
         {
             Series.Points.Clear();
         }
     }
 }