Let's say we start at t0, with a vanilla XCCY Swap contract (one leg paying Fixed Rate r, and denominated on Ccy1, the other leg paying Floating Rate f on Ccy2).
Now let's assume you have two timestamps at which you can decide to increase\decrease, or keep both fixed\floating rates constant. This simply means we have a tree with 9 final paths, one example would be something like,
t0 -> Fixed Rate = r; Floating Rate = f
t1 -> Fixed Rate = r; Floating Rate = f1
t1 -> Fixed Rate = r - 5bps; Floating Rate = f1 - 3bps
t1 -> Fixed Rate = r + 5bps; Floating Rate = f1 + 3bps
t2 -> Fixed Rate = r + 10bps; Floating Rate = f2 + 6bps
t2 -> Fixed Rate = r + 5bps; Floating Rate = f2 + 3bps
t2 -> Fixed Rate = r ; Floating Rate = f2
t2 -> Fixed Rate = r + 5bps; Floating Rate = f2 + 3bps
t2 -> Fixed Rate = r ; Floating Rate = f2
t2 -> Fixed Rate = r - 5bps; Floating Rate = f2 - 3bps
t2 -> Fixed Rate = r ; Floating Rate = f2
t2 -> Fixed Rate = r - 5bps; Floating Rate = f2 - 3bps
t2 -> Fixed Rate = r - 10bps; Floating Rate = f2 - 6bps
Those would be the 3 intermediate possible paths (t1), and final 9 paths (t2). How would you price\model this product, assuming you have full control over the path you want to take, at each timestamp (t1, and t2)?
Hope you find this an interesting problem\question :)