private static TreeCollector FindFrequentSubtrees(IEnumerable <ICommonTree> treeCollection, int minSupportPercentage) { Func <ICommonTree, bool> idiomFilter = (ICommonTree x) => true; var treeConverter = new TreeConverter(); List <TextTree> textTrees = treeCollection.Select(tree => treeConverter.ConvertToCMOrderedTreeMinerTree(tree)).ToList(); var main = new Main(); main.Support = (int)((minSupportPercentage / 100.0) * textTrees.Count()); main.Support = Math.Max(main.Support, IdiomProviderConfig.GetDefaultConfig().MinSupportCount); Debug.WriteLine($"Minimum Support is {main.Support}"); var treeCollector = new TreeCollector(); treeCollector.TreeFilter = idiomFilter; main.Run(textTrees, treeCollector); return(treeCollector); }