long (int numberOfChars, final List<String> tweetList) { //numberOfChars = 100; //TODO uncomment to show it must be effectively final long totalByFor = 0; for (String tweet : tweetList) { if (tweet.length() > numberOfChars) { totalByFor++; } } final ArrayList<String> guavaList = newArrayList(filter(tweetList, new Predicate<String>() { @Override public boolean test(String tweet) { return false; } })); final long totalFromGuava = guavaList.size(); final long totalFromLambda = tweetList.stream() .filter(t -> t.length() > numberOfChars) .count(); if (totalByFor != totalFromLambda | totalByFor != totalFromGuava) { throw new RuntimeException(""); } return totalFromLambda; }