public static IEventFlowOptions AddSnapshots(
     this IEventFlowOptions eventFlowOptions,
     Assembly fromAssembly,
     Predicate<Type> predicate = null)
 {
     predicate = predicate ?? (t => true);
     var snapshotTypes = fromAssembly
         .GetTypes()
         .Where(t => !t.GetTypeInfo().IsAbstract && typeof(ISnapshot).GetTypeInfo().IsAssignableFrom(t))
         .Where(t => predicate(t));
     return eventFlowOptions.AddSnapshots(snapshotTypes);
 }
 public static IEventFlowOptions AddSnapshots(
     this IEventFlowOptions eventFlowOptions,
     params Type[] snapshotTypes)
 {
     return eventFlowOptions.AddSnapshots(snapshotTypes);
 }