T () { if (myFuture == null) { throw new IllegalStateException("The start method has not been called."); } try { myFuture.get(); return getValue(); } catch (ExecutionException | InterruptedException e) { Thread.currentThread().interrupt(); // propagate return null; } }