code: private void addConstructorsForBeanWithPrivateConstructors(ClassFile proxyClassType) {
          ClassMethod ctor = proxyClassType.addMethod(AccessFlag.PUBLIC, INIT_METHOD_NAME, BytecodeUtils.VOID_CLASS_DESCRIPTOR, LJAVA_LANG_BYTE);
          CodeAttribute b = ctor.getCodeAttribute();
          b.aload(0);
          b.aconstNull();
          b.aconstNull();
          b.invokespecial(proxyClassType.getName(), INIT_METHOD_NAME, "(" + LJAVA_LANG_BYTE + LJAVA_LANG_BYTE + ")" + BytecodeUtils.VOID_CLASS_DESCRIPTOR);
          b.returnInstruction();
  
          ctor = proxyClassType.addMethod(AccessFlag.PUBLIC, INIT_METHOD_NAME, BytecodeUtils.VOID_CLASS_DESCRIPTOR, LJAVA_LANG_BYTE, LJAVA_LANG_BYTE);
          b = ctor.getCodeAttribute();
          b.aload(0);
          b.aconstNull();
          b.invokespecial(proxyClassType.getName(), INIT_METHOD_NAME, "(" + LJAVA_LANG_BYTE + ")" + BytecodeUtils.VOID_CLASS_DESCRIPTOR);
          b.returnInstruction();
      }
docs: Adds two constructors to the class that call each other in order to bypass
  the JVM class file verifier.
  <p/>
  This would result in a stack overflow if they were actually called,
  however the proxy is directly created without calling the constructor