private < R > CompletableFuture < R > execute ( Callable < R > operation ) { return CompletableFuture . supplyAsync ( ( ) -> { try { return operation . call ( ) ; } catch ( Exception ex ) { throw new CompletionException ( ex ) ; } } , this . executor ) ; }
Executes the given Callable synchronously and invokes cleanup when done .