/** * Creates a descriptor wrapper that will compile the underlying descriptor * on demand. Using proxy indirection is needed to compile relationships of * descriptors to other descriptors that are not compiled yet. */ protected ClassDescriptor createProxyDescriptor(String entityName) { ClassDescriptor descriptor = new LazyClassDescriptorDecorator(this, entityName); addDescriptor(entityName, descriptor); return descriptor; }