code: @Override
      protected void generateClass() {
          classFile.addField(AccessFlag.PRIVATE, INVOCATION_HANDLER_FIELD, InvocationHandler.class);
          classFile.addField(AccessFlag.PRIVATE, CONSTRUCTED_GUARD, "Z");
          if (serializableProxyClass != null) {
              createWriteReplace();
          }
          MethodBodyCreator creator = getDefaultMethodOverride();
          overrideAllMethods(creator);
          for (Class<?> iface : additionalInterfaces) {
              addInterface(creator, iface);
          }
          overrideToString(creator);
          overrideEquals(creator);
          overrideHashcode(creator);
          createConstructorDelegates(new ProxyConstructorBodyCreator());
          finalizeStaticConstructor();
          for (Annotation annotation : this.getSuperClass().getDeclaredAnnotations()) {
              classFile.getRuntimeVisibleAnnotationsAttribute().addAnnotation(annotation);
          }
      }
docs: {@inheritDoc}