title: Using lambda to filter stream and throw an exception
body: <p>Currently our implementation of a base method using <code>Set&lt;String&gt; clients</code> was as follows -</p>
  
  <pre><code>if (clients.isEmpty()) {
      throw new InvalidClientException();
  }
  
  for (String client : clients) {
      if (!myMay.containsKey(client)) {
          throw new InvalidClientException(client);
      }
  }
  </code></pre>
  
  <p>I tried converting it using lambda expression as follows - </p>
  
  <pre><code>clients.stream().filter(client -&gt; !myMay.containsKey(client) || clients.isEmpty())
              .forEach(InvalidClientException::new);
  </code></pre>
  
  <p>But this seems to be not working the same way, is the parameterised constructor call a miss here?</p>