public static Function<Integer, Integer> composeFunctions(Function<Integer, Integer> f1, Function<Integer, Integer> f2) {
    return f1.andThen(f2);
  }
@Test
  public void testComposeToZero() {
    Function<Integer, Integer> multiply = x -> x * 10;
    Function<Integer, Integer> toZero = x -> 0;

    Function<Integer, Integer> composed = FunctionComposer.composeFunctions(multiply, toZero);

    assertEquals("Expected output of function composition leading to zero is 0", 0, (int) composed.apply(5));
  }