private static void AddExecuteOrderRules(IBuildConfiguration configuration) { // Populate personal properties in a specific order for scenarios where a value generator may use the values in order to set other values configuration.AddExecuteOrderRule(NameExpression.Gender, 9600); configuration.AddExecuteOrderRule(NameExpression.FirstName, 9580); configuration.AddExecuteOrderRule(NameExpression.MiddleName, 9570); configuration.AddExecuteOrderRule(NameExpression.LastName, 9560); configuration.AddExecuteOrderRule(NameExpression.Domain, 9550); configuration.AddExecuteOrderRule(NameExpression.Email, 9540); configuration.AddExecuteOrderRule(NameExpression.Country, 9400); configuration.AddExecuteOrderRule(NameExpression.State, 9390); configuration.AddExecuteOrderRule(NameExpression.City, 9380); configuration.AddExecuteOrderRule(NameExpression.PostCode, 9370); configuration.AddExecuteOrderRule(NameExpression.TimeZone, 9360); configuration.AddExecuteOrderRule(NameExpression.DateOfBirth, 9340); configuration.AddExecuteOrderRule(NameExpression.Age, 9320); configuration.AddExecuteOrderRule(x => x.PropertyType.IsEnum, 4000); configuration.AddExecuteOrderRule(x => x.PropertyType.IsValueType, 3000); // Populate strings before other reference types configuration.AddExecuteOrderRule(x => x.PropertyType == typeof(string), 2000); configuration.AddExecuteOrderRule(x => x.PropertyType.IsClass, 1000); }