public static Generator <IEnumerable <object> > StreetName(Guid streetNameId, string nameDutch = null) { var provenance = new Provenance( Instant.FromDateTimeOffset(DateTimeOffset.Now), (Application)Produce.Integer(1, 5).Generate(new Random()), new Reason(Produce.AlphaNumericString(5, 15).Generate(new Random())), new Operator(Produce.AlphaNumericString(5, 15).Generate(new Random())), (Modification)Produce.Integer(1, 3).Generate(new Random()), (Organisation)Produce.Integer(1, 10).Generate(new Random())); return(new Generator <IEnumerable <object> >(r => { var events = new List <IGenerator <object> > { StreetNameWasRegistered .Select(e => e.WithId(streetNameId) .WithProvenance(provenance)) }; if (nameDutch != null) { events.Add(StreetNameNameWasNamed .Select(e => e.WithId(streetNameId) .WithName(nameDutch) .WithLanguage(StreetNameRegistry.Language.Dutch) .WithProvenance(provenance))); } return events.Select(e => e.Generate(r)); })); }