code: EntityManager build(EntityManagerContext entityManagerContext) {
          ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
          return (EntityManager) Proxy.newProxyInstance(
                  classLoader,
                  new Class[]{EntityManager.class},
                  new SharedEntityManagerInvocationHandler(entityManagerContext));
      }
docs: Create an EntityManager proxy for the given EntityManagerContext.
  
  @param entityManagerContext the EntityManagerContext responsible for fetching the EntityManager delegate
  @return a shareable EntityManager proxy