private void ProcessDependenciesFirstThenOurContents(ICollection<IContentSpec<Content>> list) {
foreach (var d in Dependencies)
d.Content.GetRelatedContent(list, d.Constraint);
foreach (var c in Contents)
c.Content.GetRelatedContent(list, c.Constraint);
// Workaround for top level version overrides should take precedence.
foreach (var c in Contents) {
var e = list.First(x => x.Content.Equals(c.Content));
if (c.Constraint != null)
e.Constraint = c.Constraint;
}
}