private static IModelNode CreateNamespaceNode(INamespaceMetric namespaceMetric, IProjectMetric[] projectMetrics, IEnumerable<EvaluationResult> reviews)
{
var references =
namespaceMetric.ClassCouplings.Select(definition => CreateNamespaceReferenceNode(definition, projectMetrics)).AsArray();
var children =
namespaceMetric.TypeMetrics.Select(
typeMetric => CreateTypeNodes(typeMetric, projectMetrics, reviews.Where(x => x.TypeName == typeMetric.Name)))
.Concat(references)
.Merge()
.ToList();
return new ModelNode(
namespaceMetric.Name,
NodeKind.Namespace,
reviews.Where(x => x.Namespace == namespaceMetric.Name).GetQuality(),
namespaceMetric.LinesOfCode,
namespaceMetric.MaintainabilityIndex,
namespaceMetric.CyclomaticComplexity,
children);
}