    @Test
    public void retain_creates_object() throws Exception {

        RetainState retainState = new RetainState(null);
        String result = retainState.retain(0, new RetainState.OnCreate<String>() {
            @Override
            public String onCreate() {
                return "test";
            }
        });

        assertEquals("test", result);
    }