@Test
  public void takeWhile() {
    List<Integer> numberList = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
    Predicate<Integer> lessThenFive = x -> x < 5;

    Collection<Integer> result = Collections.takeWhile(lessThenFive, numberList);
    assertEquals(Arrays.asList(1, 2, 3, 4), result);

    assertEquals(emptyList(), Collections.takeWhile(IS_NULL_PREDICATE, numberList));
    assertEquals(numberList, Collections.takeWhile(NOT_NULL_PREDICATE, numberList));
  }