title: Find first over several streams of different collection Types
body: <pre><code>public class ImmutableCrazySquares { 
     private final List&lt;Square&gt; xraySquare;
     private final Map&lt;String, Set&lt;Square&gt;&gt; yankeSquare
     private final Map&lt;String, Set&lt;Square&gt;&gt; zuloSquare;
      .
      .
      .
     @VisibleForTesting
     private boolean exists(String squareId) {
      boolean matches = yankeSquare.values().stream().anyMatch(squares -&gt;
          squares.stream().anyMatch(square -&gt; square.getId().equals(squareId)));
      if (!matches) {
          matches = xraySquare.stream()
              .anyMatch(square -&gt; square.getId().equals(squareId));
      }
      if (!matches) {
          matches = zuloSquare.values().stream().anyMatch(squares -&gt;
              squares.stream().anyMatch(square -&gt; square.getId().equals(squareId)));
      }
      return matches;
     }
  }
  </code></pre>
  
  <p>The above class has a dozen methods but right now I just want to focus on this exists methods.
  In essence I want to look at the 3 collections xraySquare, yankeSquare, zuloSquare and if the id I sent is in any of them I want to return true.
  Sadly the Key on both the Maps are not the Id and therefore cannot be used for this action. To get the Id I need to drill in the values and call getId(). Since this is a method for tests I do not want to pollute the class with an adicional collection with all ids that exist.
  Is there an easy way to concurrently look at all 3 collections and stop as soon as 1 finds the result?</p>