public NightlightFormController(ref T obj) { var attributes = AttributeUtils.ReadAttributes(obj); Nodes = AttributeUtils.GetNodesFromAttributes(attributes); // validate all the nodes. I did it here arbitrarily, thinking // that validation at build, rather on the node creation, // would hide the contents of the library foreach (var node in Nodes) { node.ValidateNode(); } }