@Override
    public synchronized void onError(final Throwable t) {
        doneFuture.setException(t);
    }
@Test
    public void onError() {
        Throwable throwable = new Throwable("error");
        completeObserver.onError(throwable);
        ListenableFuture<Void> future = completeObserver.getCompletionFuture();
        assertThrows(Throwable.class, future::get);
    }