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);
        }