    @Test(timeout = 10000)
    public void testKeepalive() throws Exception {

        final CapturingFailListener listener = new CapturingFailListener();

        final KeepaliveReaderWrapper<DataObject, Builder<DataObject>> keepaliveWrapper =
                new KeepaliveReaderWrapper<>(delegate, exec, TestingException.class, 1, listener);

        keepaliveWrapper.readCurrentAttributes(id, builder, ctx);
        verify(delegate).readCurrentAttributes(id, builder, ctx);

        keepaliveWrapper.getBuilder(id);
        verify(delegate).getBuilder(id);


        assertTrue(listener.getTriggerFuture().get());
        verify(delegate).read(any(InstanceIdentifier.class), any(ReadContext.class));

        keepaliveWrapper.close();
    }