this demonstration supports using proxies to create a bean that can be #refreshed(). Once refreshed, it recreates the bean it manages by calling a Provier<T> provider#get() method. The client has only the original bean and references it as usual, not knowing that under the hood that bean has been re-sourced.