@Override
    public O apply(final E e) {
        if (o != null) {
            return o;
        }
        return init(e);
    }
@Test
    public void testApply() {
        Function<String, String> function = Function.identity();
        FreshBeanHolder<String, String> freshBeanHolder = new FreshBeanHolder<>(function);
        assertEquals("hello", freshBeanHolder.apply("hello"));
    }