code: 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;
      }
docs: Creates ready-to-use proxy instance for specified interface and {@link Session}.
  Please, use Sessions with {@link Dialect} compatible to {@link Dialect} used in factory.
  
  @param interfaceClass Interface class, which contains proxy declaration.
  @param session        {@link Session}, which generated proxy will wrap.
  @param <T>            Type of interface class, which contains proxy declaration.
  @throws Exception