public Assembly Check() { var context = new ValidationContext(this); context.ValidationError += ValidationError; Validate(context); // TODO: This should be done elsewhere, but add externals Externals = Externals.Concat(FindAllExternalsUsed()).Distinct().ToList(); return(new Assembly(this)); }