title: combinations of items in stages, allowing for overlaps
body: <p>Context</p>
  
  <ul>
  <li>I have a list of items</li>
  <li>I also have a structure with s stages</li>
  <li>The number of stages of stages can be larger, equals or less than the number of items</li>
  <li>Each stage can have n slots</li>
  <li>Items can ocupy the same stage by take 2 slots in that stage</li>
  <li>The slots' order is irrelevant</li>
  <li>The number of slots is less or equal to the number items</li>
  <li>Each slot can contain one item</li>
  <li>A slot can be empty</li>
  <li>Any given structure can only contain each item once</li>
  </ul>
  
  <p>Problem:</p>
  
  <p>I want to generate all the combinations for the distribution of items in structure, such that:</p>
  
  <ul>
  <li>Each item appears once and only once in the structure</li>
  <li>All items are present in each combination</li>
  <li>I want to use Java for the implementation</li>
  </ul>
  
  <p>Example:</p>
  
  <pre><code>/* Inputs */
  items = {1, 2}
  structure = [ {}, {}, {}] // with 3 stages
  
  /* Outputs */
  comb1 = [ {1,2}, {}, {} ]
  comb2 = [ {1}, {2}, {} ]
  comb3 = [ {1}, {}, {2} ]
  comb4 = [ {}, {1,2}, {} ]
  comb5 = [ {}, {1}, {2} ]
  comb6 = [ {}, {}, {1,2}]
  comb7 = [ {}, {2}, {1} ]
  comb8 = [ {2}, {1}, {} ]
  comb9 = [ {2}, {}, {1} ]
  </code></pre>
  
  <p>Ideas are extremely welcome.</p>