CompletableFutureのhandle(BiFunction fn)メソッドとwhenComplete(BiConsumer action)メソッドの違いはどれか。

handleは結果を変換して新しい値を返せるが、whenCompleteは結果を消費するだけで戻り値