private ObservableCollection <DbcMessage> MergeDBC(DBCReader dbcA, DBCReader dbcB)
        {
            ObservableCollection <DbcMessage> mergedMsg = dbcA.GetAllMessages();

            foreach (var msg in dbcParserB.GetAllMessages())
            {
                if (dbcParserA.GetAllMessages().Any(p => p.ID == msg.ID))
                {
                    //not found in dbcA
                }
                else
                {
                    mergedMsg.Add(msg);
                }
            }
            return(mergedMsg);
        }
        /// <summary>
        /// Load DBC B
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dbcTarget_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openDBC = new OpenFileDialog();

            openDBC.FileName   = "DBC File";
            openDBC.DefaultExt = ".dbc";
            openDBC.Filter     = "CAN db files (.dbc)|*.dbc";

            if (openDBC.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                dbcParserB        = new DBCReader(openDBC.FileName);
                DbcComparer.DbcB  = dbcParserB.GetAllMessages();
                DbcComparer.PathB = openDBC.FileName;

                //binding to controls
                treeViewTarget.ItemsSource = null;
                treeViewTarget.Items.Clear();
                treeViewTarget.ItemsSource = DbcComparer.DbcB;
            }
        }