public static IFlushableValveSubject <T> Synchronize <T>(this IFlushableValveSubject <T> valve, object gate) => new SynchronizedFlushableValveAdapter <T>(valve, gate);
public SynchronizedFlushableValveAdapter(IFlushableValveSubject <T> valve, object gate) : base(valve, gate) { _valve = valve; _gate = gate; }
public static IFlushableValveSubject <T> Synchronize <T>(this IFlushableValveSubject <T> valve) => Synchronize(valve, new object());