Método de biblioteca para particionar uma coleção por um predicado

Eu tenho uma coleção de objetos que gostaria de particionar em duas coleções, uma das quais passa por um predicado e uma delas falha em um predicado. Eu estava esperando que houvesse umGoiaba método para fazer isso, mas o mais próximo que eles vêm éfiltro, o que não me dá a outra coleção.

Eu imaginaria que a assinatura do método seria algo assim:

public static <E> Pair<Collection<E>, Collection<E>> partition(Collection<E> source, Predicate<? super E> predicate)

Eu percebo que isso é super rápido para codificar a mim mesmo, mas estou procurando um método de biblioteca existente que faz o que eu quero.