You can buy this project and download/modify it how often you want.
A B D 1 C1 D2 C 2 cancel() 3 withLatestFrom ( ) ( , )