docs: public <T> T getProxy(Class<T> interfaceClass, Session session) throws Exception {
          Class proxyClass = proxyClassesByInterface.get(interfaceClass);
          if (proxyClass == null) {
              proxyClass = StoredProcedureProxy.createProxyClass(interfaceClass, dialect);
              proxyClassesByInterface.put(interfaceClass, proxyClass);
          }
  
          StoredProcedureProxy result = (StoredProcedureProxy) proxyClass.newInstance();
          result.setSession(session);
          return (T) result;
      }