docs: protected int bindStatement(PreparedStatement stmt, Criteria crit, ClassDescriptor cld, int param) throws SQLException
      {
          if (crit != null)
          {
              Enumeration e = crit.getElements();
  
              while (e.hasMoreElements())
              {
                  Object o = e.nextElement();
                  if (o instanceof Criteria)
                  {
                      Criteria pc = (Criteria) o;
                      param = bindStatement(stmt, pc, cld, param);
                  }
                  else
                  {
                      SelectionCriteria c = (SelectionCriteria) o;
                      // BRJ : bind once for the criterion's main class
                      param = bindSelectionCriteria(stmt, param, c, cld);
  
                      // BRJ : and once for each extent
                      for (int i = 0; i < c.getNumberOfExtentsToBind(); i++)
                      {
                          param = bindSelectionCriteria(stmt, param, c, cld);
                      }
                  }
              }
          }
          return param;
      }