Shouldn't use futures with a bounded execution context instead? This is so java ;)