title: Is it possible to collect a stream to two different collections using one line?
body: <p>I have the following code: (simplified for bravity)</p>
  
  <pre><code>public void search(Predicate&lt;String&gt; predicate, Elements elements)
  {
      List&lt;SearchResult&gt; searchResults = elements.stream()
          .filter(element -&gt; predicate.test(element.ownText()))
          .map(element -&gt; new SearchResult(element.ownText(), element.baseUri(),element.tagName()))
          .collect(Collectors.toList());
  }
  </code></pre>
  
  <p>But now, I want to have another list which would contain all filtered elements without the mapping.
  Is it possible to do that with a stream, or should I change to a foreach loop for that?</p>