Additional: I measured performance, no reason to cache BeanManager or to use ThreadLocal cache for bean.