title: How to find all overlapping phrases between two strings, in Java?
body: <p>Assume that I have two strings</p>
  
  <ol>
  <li><p>I like chicken salad, it's my favorite food.</p></li>
  <li><p>This book contains tons of recipes on making all sorts of food, including cakes, chicken salad, etc.</p></li>
  </ol>
  
  <p>Here the overlapping phrases between the two strings are - chicken, salad, chicken salad, food.</p>
  
  <p>What's the best way to find the overlapping phrases between two strings? Assume that both are syntax and semantics clean, and also the first one is always quite shorter than the second one.</p>