title: filter and sort list using google collections
body: <p>Suppose I have a list (or Set):</p>
  
  <pre><code>List&lt;String&gt; testList = Lists.newArrayList("assocX","srcT","destA","srcX", "don't care Y", "garbage", "srcB");
  </code></pre>
  
  <p>I would like to get back an ImmutableList(Set) that sorts/groups terms in natural order where terms that begin with "src" are first, "assoc" second and "dest" last.  If a term does not contain those then it should be removed from the resulting list.</p>
  
  <p>Therefore the result here is "srcB", "srcT", "assocX", "destA".</p>
  
  <p>I think I can do this with some combination of Iterables.filter or Predicates but just not seeing it.  There must be a succinct way of doing it I think.</p>
  
  <p>EDIT: A set in place of a list works as well.</p>