Turn a product of elements into a list

I am writing a code to apply Wick’s theorem to expectation values of products of elements like x[i][t], y[k][t2]…
I would like to find a way to turn such products into lists {x[i][t],y[k][t2], …}, so that then I can use Subsets to find all pairings between the elements, and then replace them by the corresponding expectation values.
How could I achieve this?
Best,

Stefano

Perhaps you can do it with Cases and a pattern:

Cases[x[i][t]*y[k][t2], (x | y)[i_][t_], All]

This almost does the job, but I would need terms like (x[i][t])^3 to be recognized as three different x[i][t] items in the output list!

This may work:

Cases[x[i][t]^3*y[k][t2], a_[i_][t_]^n_. :> Table[a[i][t], {n}], 
  1] // Flatten

This works, thank you very much!