for (String packageName : whitelistPackages) {
whitelist.addPackage(packageName);
}
CostModel costModel = new CostModel(cyclomaticCost, globalCost, constructorMultiplier);
JavaClassRepository classRepository = new JavaClassRepository(classPath);
MetricComputer computer = new MetricComputer(classRepository, errorStream, whitelist, printDepth);
HypotheticalCostModel hypotheticalCostModel = new HypotheticalCostModel(costModel);
IssuesReporter issuesReporter = new IssuesReporter(
new TriageIssuesQueue<ClassIssues>(maxAcceptableCost,
maxClassesInReport, new ClassIssues.TotalCostComparator()), hypotheticalCostModel);