@Override
  public Response loadData(
      int action,
      int startIndex,
      Map filteredColumns,
      ArrayList currentSortedColumns,
      ArrayList currentSortedVersusColumns,
      Class valueObjectType,
      Map otherGridParams) {
    Session s = null;
    try {
      String select =
          gridFrame
              .getGridControl()
              .getVOListTableModel()
              .createSelect("C", AliasedTupleSRT.SEPARATOR);
      select =
          select.replaceFirst("SELECT", "SELECT DISTINCT")
              + ", C.rif.tipoCedula as rif_tipoCedula ";

      String sql = select + " FROM " + claseModeloFullPath + " C LEFT JOIN C.tiposPersona T ";

      List<TipoPersona> tiposPersonasFiltradas =
          ((Personas2GridFrame) gridFrame).getTiposPersonaFiltro();
      if (tiposPersonasFiltradas != null && tiposPersonasFiltradas.size() != 0) {
        sql += "WHERE T.id IN ( ";
        sql += tiposPersonasFiltradas.get(0).getId();
        for (int i = 1; i < tiposPersonasFiltradas.size(); i++) {
          TipoPersona tipo = tiposPersonasFiltradas.get(i);
          sql += ", " + tipo.getId();
        }
        sql += " )";
      }
      this.sql1 = sql;
      this.filteredColumns = filteredColumns;
      SessionFactory sf = HibernateUtil.getSessionFactory();
      s = sf.openSession();
      Response res =
          HibernateUtils.getBlockFromQuery(
              new AliasedTupleSRT(Persona.class),
              action,
              startIndex,
              General.licencia.getBlockSize(),
              filteredColumns,
              currentSortedColumns,
              currentSortedVersusColumns,
              valueObjectType,
              sql,
              new Object[0],
              new Type[0],
              "C",
              sf,
              s);
      //            Response res = HibernateUtils.getAllFromQuery(
      //                    filteredColumns,
      //                    currentSortedColumns,
      //                    currentSortedVersusColumns,
      //                    valueObjectType,
      //                    sql,
      //                    new Object[0],
      //                    new Type[0],
      //                    "C",
      //                    sf,
      //                    s);
      return res;

      //            SessionFactory sf = HibernateUtil.getSessionFactory();
      //            Session s = sf.openSession();
      //            Criteria c = s.createCriteria(Persona.class);
      //            Criteria artistCriteria = c.createCriteria("tiposPersona");
      //            artistCriteria.add(Restrictions.like("idPropio", "%CON%"));
      //            Response res = HibernateUtils.getAllFromCriteria(filteredColumns,
      // currentSortedColumns, currentSortedVersusColumns, c, s);
      //            s.close();
      //            return res;
      //            SessionFactory sf = HibernateUtil.getSessionFactory();
      //            Session s = sf.openSession();
      //            Criteria c = s.createCriteria(Persona.class);
      //            Criteria artistCriteria = c.createCriteria("tiposPersona");
      //            artistCriteria.add(Expression.like("idPropio", "%CON%"));
      //            List l = c.list();
      //            s.close();
      //            return new VOListResponse(l, false, l.size());
    } catch (Exception ex) {
      LoggerUtil.error(this.getClass(), "loadData", ex);
      return new ErrorResponse(ex.getMessage());
    } finally {
      s.close();
    }
  }