title: Efficient way to find all permutation of lists
body: <p>I have a list of lists in Java:</p>
  <pre><code>{{1,2},{3,4,5},{6,7,8}}
  </code></pre>
  <p>I try to find all permutations of this list. Meaning, In the result I would get a list with the next:</p>
  <pre><code>{{1,3,6},{1,3,7},{1,3,8},{1,4,6}....{2,5,8}}
  </code></pre>
  <p>Is there a reasonable way to do it?</p>