final ConsistencyChecker checker = new MarkovClassifier.DifferentPredictionsInconsistencyNoBlacklistingIncludeMissingPrefixes();
//long inconsistencyForTheReferenceGraph = MarkovClassifier.computeInconsistency(trimmedReference, m, checker,false);
MarkovClassifier ptaClassifier = new MarkovClassifier(m,pta);
final List<List<Label>> pathsToMerge=ptaClassifier.identifyPathsToMerge(checker);
// These vertices are merged first and then the learning start from the root as normal.
// The reason to learn from the root is a memory cost. if we learn from the middle, we can get a better results
//final Collection<Set<CmpVertex>> verticesToMergeBasedOnInitialPTA=ptaClassifier.buildVerticesToMergeForPaths(pathsToMerge);