public override void ComputeResults(Results results, ICollection files, Hashtable htBin, ICollection filters)
        {
            Visit scan = new Visit();

            scan.Collectors.Register("DesignFragment", new DesignFragmentCollector());
            scan.DoScan(files, htBin, filters);
            DesignFragmentCollector seqs = (DesignFragmentCollector)scan.Collectors["DesignFragment"];

            MakeDataTable();

            ArrayList inspectSeqs = (ArrayList)seqs.Values;
            Hashtable methodMap   = (Hashtable)seqs.Value;

            Hashtable frags = new Hashtable();

            for (int i = 0; i < inspectSeqs.Count; i++)
            {
                for (int j = i + 1; j < inspectSeqs.Count; j++)
                {
                    int[] a = (int[])inspectSeqs[i];
                    int[] b = (int[])inspectSeqs[j];
                    int[] sequence;
                    int   matchLength = LongestCommonSubstring(a, b, out sequence);
                    if (matchLength > 3)
                    {
                        HashableArray s = new HashableArray(sequence);
                        if (!frags.Contains(s))
                        {
                            frags[s] = 0;
                        }
                        frags[s] = (int)frags[s] + 1;
                    }
                }
            }

            foreach (HashableArray sequence in frags.Keys)
            {
                string[] list = Map <int, string>(delegate(int x) { return((string)methodMap[x]); }, sequence.me);
                m_fragments.Rows.Add(string.Join(";", list), frags[sequence], sequence.me.Length);
            }

            results.PluginTables.Add(m_fragments);
        }