Componentes somem na view depois de algumas execuções de um método através do <p:poll>

Pessoal, estou com um problema muito chato. Ficarei muito grato se puderem me ajudar.

Seguinte: tenho um componente <p:poll> que executa um método a cada 5 segundos e atualiza dois componentes de id “slideshow1” e “slideshow2”.
Ele consegue fazer as chamadas e retornar com sucesso. Porém depois de algumas chamadas esses componentes simplesmente somem da visualização (no lado cliente), mas continuam na ViewRoot.

<h:form id="formulario" binding="#{form}">
			<p:poll id="poll" update="slideshow1,slideshow2" interval="5"
				listener="#{muralBean.getTextosA(form)}" autoStart="true"/>
				
			<h:panelGroup layout="block" binding="#{muralBean.slideshow1}"
				id="slideshow1" styleClass="slide1" rendered="true">
			</h:panelGroup>
						
			<h:panelGroup layout="block" binding="#{muralBean.slideshow2}"
				id="slideshow2" styleClass="slide2" rendered="true">
			</h:panelGroup>	

Estou colocando o método chamado, pois nele eu limpo os “filhos” de cada um, e adiciono dependendo das condições. mas é só isso, não sei porque isso está acontecendo.

public void getTextosA(UIComponent componente)
	{
		//HtmlPanelGroup slide1 = null;
		//HtmlPanelGroup slide2 = null;
		List<Texto> tempTextos = new ArrayList<>();
		List<?> textosDiff = new ArrayList<>();
		
		try{
			//slide1 = (HtmlPanelGroup) componente.findComponent("formulario:slideshow1");
/*			slide1 = (HtmlPanelGroup) FacesContext
					.getCurrentInstance().getViewRoot()
					.findComponent("formulario:slideshow1");
*/			
			//slide2 = (HtmlPanelGroup) FacesContext
					//.getCurrentInstance().getViewRoot()
					//.findComponent("formulario:slideshow2");
			
			//slide1.getChildren().clear();
			//slide2.getChildren().clear();
			
			slideshow1.getChildren().clear();	
			slideshow2.getChildren().clear();
			
			idLocalizacao = (Integer) FacesUtil.getSession().getAttribute("idLocalizacao");
			System.out.println("id"+idLocalizacao);
			if(this.getIdLocalizacao()!=null)
			{
				System.out.println("idL != null");
				Localizacao l = JPAUtil.findEntity(Localizacao.class, this.getIdLocalizacao());
				List<Localizacao> localizacoes = new ArrayList<>();
				localizacoes.add(l);
				tempTextos = TextoDAO.listarTextosValidosPorUsuario
						(0, "", localizacoes, null, null, null);
				
				if(textos != null)
				{
					textosDiff = ListUtils.subtract(tempTextos, textos);
				}
				else{
					textosDiff = tempTextos;
				}
				
				for(int i=0; i < textosDiff.size(); i++)
				{
					System.out.println("diff existe");
					if(i%2==0)
					{
						List<String> paths = getPaths((Texto) textosDiff.get(i));
						for (String string : paths)
						{
							//slide1.getChildren().add(createImg(string));
							slideshow1.getChildren().add(createImg(string));
						}
					}
					else
					{
						List<String> paths = getPaths((Texto) textosDiff.get(i));
						for (String string : paths)
						{
							//slide2.getChildren().add(createImg(string));
							slideshow2.getChildren().add(createImg(string));
						}
					}
				}
				
				textos = tempTextos;
			}
			
		}
		catch(Exception e) { e.printStackTrace(); }
	}