@Test
public void testComposeTest2() {

    final Function<String, String> substring4 = string -> string.substring(0, 4);
    final Function<String, String> substring6 = string -> string.substring(0, 6);
    final BiPredicate<String, String> truePredicate = composeTest2(substring6, substring4, String::startsWith);
    final BiPredicate<String, String> falsePredicate = composeTest2(substring4, substring6, String::startsWith);
    assertTrue("compose substrings of different lengths (left longer) then String::startsWith",
            truePredicate.test(sentinel, sentinel));
    assertFalse("compose substrings of different lengths (right longer) then String::startsWith",
            falsePredicate.test(sentinel, sentinel));
}