/// <summary> /// Validate the integrity of this entity. /// </summary> public override void Validate(IEntity validationRoot, ValidationResults results) { base.Validate(validationRoot, results); blocks.Validate(validationRoot, results); junctions.Validate(validationRoot, results); routes.Validate(validationRoot, results); edges.Validate(validationRoot, results); sensors.Validate(validationRoot, results); signals.Validate(validationRoot, results); outputs.Validate(validationRoot, results); // Check for duplicate addresses if (validationRoot == this) { var addressEntities = this.GetAddressEntities().ToList(); addressEntities.WarnForDuplicateAddresses(results); } }