protected FrozenLazyInitializerImpl(HibernateProxy owner) {
   ProxyObject proxyObject = (ProxyObject) owner;
   MethodHandler handler = proxyObject.getHandler();
   if (!(handler instanceof LazyInitializer)) {
     Arguments.mustBeInstanceOfValue(
         "((" + ProxyObject.class.getName() + ")owner).getHandler()",
         handler,
         LazyInitializer.class);
   }
   Class<?> persistentClass = getPersistentClass((BasicLazyInitializer) handler);
   LazyInitializer lazyInitializer = owner.getHibernateLazyInitializer();
   if (lazyInitializer instanceof FrozenLazyInitializer) {
     throw new AssertionError();
   }
   this.owner = owner;
   this.lazyInitializer = lazyInitializer;
   this.objectModelMetadata = HibernateMetadatas.of(persistentClass);
   this.initTransient(persistentClass);
   proxyObject.setHandler(this);
 }