public void getPagosRecibidos(int registros, int desde) {
   pagos = pagosBean.getPagosRecibidos(tipoPago, fechaDesde, confirmado, registros, desde);
   this.desde = desde;
   if (model != null) {
     model.setRowCount(totalRegistros);
     Long n = pagosBean.getCantidadPagos(tipoPago, fechaDesde, confirmado);
     if (n != null) totalRegistros = n.intValue();
     else totalRegistros = 0;
     if (desde > totalRegistros) {
       desde = 0;
       pagos = pagosBean.getPagosRecibidos(tipoPago, fechaDesde, confirmado, registros, desde);
     }
   }
 }
  @PostConstruct
  public void init() {
    Logger.getLogger(PagosRecibidosMBean.class).debug("PagosRecibidosMBean: postconstruct");

    periodos = new ArrayList<SelectItem>();
    periodos.add(new SelectItem(0, "Todos"));
    periodos.add(new SelectItem(1, "Última semana"));
    periodos.add(new SelectItem(2, "Últimos 30 días"));
    periodos.add(new SelectItem(3, "Últimos 60 días"));

    periodoSeleccionado = 0;
    todos = true;
    todosEstados = true;
    pagos = new ArrayList<PagoDTO>();
    getPagosRecibidos(15, 0);

    model =
        new LazyDataModel<PagoDTO>() {

          @Override
          public List<PagoDTO> load(
              int first,
              int pageSize,
              String sortFielf,
              SortOrder sortOrder,
              Map<String, String> filters) {
            if (noBuscarEnModel) {
              noBuscarEnModel = false;
            } else {
              getPagosRecibidos(pageSize, first);
            }
            return pagos;
          }
        };
    Long n = pagosBean.getCantidadPagos(tipoPago, fechaDesde, confirmado);
    if (n != null) totalRegistros = n.intValue();
    else totalRegistros = 0;
    model.setRowCount(totalRegistros);
  }