public void doFresh(final E e) {
        O fresh = function.apply(e);
        if (fresh != null) {
            synchronized (this) {
                this.o = fresh;
            }
        }
    }
@Test
    public void testDoFresh() {
        Function<String, String> function = Function.identity();
        FreshBeanHolder<String, String> freshBeanHolder = new FreshBeanHolder<>(function);
        freshBeanHolder.doFresh("hello world");
        assertEquals("hello world", freshBeanHolder.apply("hello"));
    }