private static List <PatchPattern> PatchPatternCollection(VaccineAsString vaccineUncompressed)
        {
            List <PatchPattern> rg = new List <PatchPattern>();

            PatchPatternFactory aPatchPatternFactory = PatchPatternFactory.GetFactory("strings");

            foreach (string componentAsString in vaccineUncompressed.NiceStringCollection())
            {
                PatchPattern patchPattern = aPatchPatternFactory.GetInstance(componentAsString);
                rg.Add(patchPattern);
            }
            return(rg);
        }
        public override double DupScore(Dictionary <PatchPattern, Patch> patchPaternToPatch, VaccineAsString vaccine)
        {
            double score = 0.0;

            foreach (string component in vaccine.NiceStringCollection())
            {
                foreach (Patch aPatch in patchPaternToPatch.Values)
                {
                    if (aPatch.PatchPattern().IsMatch(component))
                    {
                        score += aPatch.Weight;
                    }
                }
            }

            return(score);
        }