docs: private Class getDynamicProxyClass(Class baseClass) {
          Class[] m_dynamicProxyClassInterfaces;
          if (foundInterfaces.containsKey(baseClass)) {
              m_dynamicProxyClassInterfaces = (Class[])foundInterfaces.get(baseClass);
          } else {
              m_dynamicProxyClassInterfaces = getInterfaces(baseClass);
              foundInterfaces.put(baseClass, m_dynamicProxyClassInterfaces);
          }
  
          // return dynymic Proxy Class implementing all interfaces
          Class proxyClazz = Proxy.getProxyClass(baseClass.getClassLoader(), m_dynamicProxyClassInterfaces);
          return proxyClazz;
      }