Problemas com JSF

Boa noite Galera,
Estou desenvolvendo um app em jsf, e me deparei com o seguinte problema, tenho uma gride que é carregada, e eu tenho um filtro de data para os dados da mesma, porem quando eu filtro ele não me retorna alguns valores, mas se eu consultar de novo(se alterar nada , simplesmente pesquisar) ele me retorna todos os valores, abaixo tera trexos do fonte e print da tela:

Meu botão de pesquisa

<p:commandLink value="Pesquisar" styleClass="btn btn-sm btn-default" ajax="true" process="@form" update="mensagem tbBanqueiros" action="#{estatisticaBanqueiroController.pesquisar}"/>

A grid

				 <c:forEach items="#{estatisticaBanqueiroController.listaEstatisticaBanqueiro}" var="banq">
				      <tr>
				        <td><h:outputText value="#{banq.nomeUsuario}" /></td>
				        <td><h:outputText value="#{banq.qtdApostas}" /></td>
				        <td>
				        	<h:outputText value="#{banq.vlEntrada}" >
								<f:convertNumber currencySymbol="$" type="currency"/>
							</h:outputText>
						</td>
				        <td>
				        	<h:outputText value="#{banq.vlPremio}" >
								<f:convertNumber currencySymbol="$" type="currency"/>
							</h:outputText>
						</td>
				      </tr>	
				      <tr>
					      <td colspan="5">
					      	<table border="1" class="table  table-expandable table-bordered table-striped table-responsive">
								 <thead>
									<tr>
									  <th>Id Aposta</th>
									  <th>Nome Apostador</th>
									  <th>Valor Aposta</th>
									  <th>Valor Possivel</th>
									  <th>Vencedor</th>
									</tr>
								 </thead>	
								 <tbody>
								 	<c:forEach items="#{banq.apostas}" var="aposta">
										<tr>
											<td><h:outputText value="#{aposta.idAposta}" /></td>
											<td><h:outputText value="#{aposta.nomeApostador}" /></td>
											<td>
												<h:outputText value="#{aposta.valorAposta}" >
													<f:convertNumber currencySymbol="$" type="currency"/>
												</h:outputText>
											</td>
											<td>
												<h:outputText value="#{aposta.valorPossivelGanho}" >
													<f:convertNumber currencySymbol="$" type="currency"/>
												</h:outputText>
											</td>
											<td>
												<ui:fragment rendered="#{aposta.vencedor != null}">
												<span class="label label-#{aposta.styleStatus}">
						        					<h:outputText value="#{aposta.vencedor}" />
						        				</span>
						        				</ui:fragment>
											</td>
										</tr>	
										<tr>
											<td colspan="6">
												<table border="1" class="table table-bordered table-responsive" >
													<thead>
														<tr>
														  <th>Data Jogo</th>
														  <th>Time Casa</th>
														  <th>Time Fora</th>
														  <th>Peso Casa</th>
														  <th>Peso Fora</th>
														  <th>Peso Empate</th>
														  <th>Tipo Aposta</th>
														</tr>
													 </thead>	
													 <tbody style="background-color: #f9f9f9;">
													 	<c:forEach items="#{aposta.jogos}" var="jogo">
															<tr>
																<td>
																	<h:outputText value="#{jogo.dataJogo}" >
																		<f:convertDateTime pattern="dd/MM/yyyy"/>
																	</h:outputText>
																</td>
																<td style="text-align: right;"><h:outputText value="#{jogo.timeCasa}" /></td>
																<td><h:outputText value="#{jogo.timeFora}" /></td>
																<td>
																	<h:outputText value="#{jogo.pesoCasa}">
																		<f:convertNumber currencySymbol="$" type="currency"/>
																	</h:outputText>
																</td>
																<td>
																	<h:outputText value="#{jogo.pesoFora}">
																		<f:convertNumber currencySymbol="$" type="currency"/>
																	</h:outputText>
																</td>
																<td>
																	<h:outputText value="#{jogo.pesoEmpate}">
																		<f:convertNumber currencySymbol="$" type="currency"/>
																	</h:outputText>
																</td>
																<td><h:outputText value="#{jogo.tipoAposta}" /></td>
															</tr>													 		
													 	</c:forEach>
													 </tbody>												
												</table>
											</td>
										</tr>							 	
								 	</c:forEach>
								 </tbody>				      		
					      	</table>
					      </td>	
				      </tr>			 
		    	 </c:forEach>

e meu managedBean

	public void pesquisar(){
		if(validarDataFiltro()){
			try{
				if(getUsuarioSession().getPerfil().isAdmin()){
					this.listaEstatisticaBanqueiro = estatisticaBanqueiroService.carregarbanqueirosComFiltro(this.filtroEstatisticaBanqueiro);
				}else{
					this.listaEstatisticaBanqueiro = new ArrayList<EstatisticaBanqueiro>();
					this.listaEstatisticaBanqueiro.add(estatisticaBanqueiroService.carregarbanqueiroComIdFiltro(getUsuarioSession().getIdUsuario() , this.filtroEstatisticaBanqueiro));
				}
			}catch(Exception e){
				FacesUtil.addErrorMessage("Erro ao carregar banqueiros." , e.getMessage());
			}
		}
	}

Obs:Eu debuguei e garanti que minha lista vem totalmente carregada

vlw galera

Se o managedbean for @ViewScoped <p:commandLink value="Pesquisar" styleClass="btn btn-sm btn-default" ajax="true" process="@form" update="mensagem tbBanqueiros" actionListener="#{estatisticaBanqueiroController.pesquisar( )}"/>