code: private CtClass createCtClassProxy(Schema schema) throws Exception {
  
          CtClass proxyClass = pool.getAndRename(schema.getType(), schema.getType() + PROXY_CLASS_SUFFIX);
          CtClass org = getCtClass(schema);
          proxyClass.setSuperclass(org);
          return proxyClass;
      }
docs: Create a copy of the configurable class, a proxy class, and extend the
  configurable class with this proxy class. The idea is to let the proxy class
  override list methods of the configurable superclass [JLS 8.4.8.1].
  
  So when the real configurable class access a @Config field through a method
  it will access the field of the proxy instead of the real object.