code: @NullSafe
    protected ClassLoader getProxyClassLoader() {
      return Optional.ofNullable(this.proxyClassLoader).orElseGet(() -> Thread.currentThread().getContextClassLoader());
    }
docs: Gets the Java {@link ClassLoader} used to resolve and define the Proxy {@link Class}.
  
  If the {@link ClassLoader} was not configured then the current {@link Thread Thread's} {@link ClassLoader}
  will be used.
  
  @return the Java {@link ClassLoader} used to resolve and define the Proxy {@link Class}.
  @see java.lang.Thread#currentThread()
  @see java.lang.Thread#getContextClassLoader()
  @see java.lang.ClassLoader