a4j:repeat setar objeto no managed bean

Boa noite galera,

Para facilitar a explicação do meu problema irei primeiramente falar o código que tinha e que já funciona.

Tenho um objeto do tipo Evento e nele tenho um List de Imagem. Um dos atributos de Imagem é um byte[], que é a imagem propriamente dita.

	@PostConstruct
	public void init() {
		eventoAtual = dao.buscarUnicoComImagens((long) 22); // Busca todas as imagens do
//// evento utilizando dentro de buscarUnicoComImagens    crit.setFetchMode("imagemList", FetchMode.JOIN);
	}

	private EventoVO eventoAtual;
	public void print(OutputStream out, Object data) throws IOException {
		Long index = (Long) data;
		ImagemVO imagem = null;
		for (ImagemVO imagemIndex : eventoAtual.getImagemList()) {
			if (imagemIndex.getId().equals(index)) {
				imagem = imagemIndex;
				break;
			}
		}

		byte[] dataByte = imagem.getImage();
		ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(dataByte);
		BufferedImage result = ImageIO.read(byteArrayInputStream);
		ImageIO.write(result, "jpg", out); // TODO
	}

E meu xhtml:

			<a4j:outputPanel id="gallery">
				<a4j:repeat id="imageList"
					value="#{homeMB.eventoAtual.imagemList}" var="image" 
					iterationStatusVar="it" rows="5">

					<a4j:mediaOutput element="img" mimeType="image/jpg"
						styleClass="thumbnail tableThumbnail"
						createContent="#{homeMB.print}" value="#{image.id}"
						cacheable="false" session="false">

					</a4j:mediaOutput>
				</a4j:repeat>
			</a4j:outputPanel>

Como vocês podem ver, fiz um FetchMode.JOIN no método init().
Este código anterior está funcioando, mas tenho que usar @SessionScoped e não queria, mas isso e discussão para outro capítulo.

Meu problema é: ao invés de ter um Evento, eu tenho uma lista de Eventos. Se eu fizer um a4j:repeat para a lista de eventos e depois utilizar o código descrito anteriormente, no meu método print(…) eu não vou saber de qual evento devo pegar minhas imagens, e mesmo se soubesse, eu não fiz uma nova busca no atual evento para buscar todas suas imagens.

<a4j:repeat id="eventoList" value="#{homeMB.eventoList}"
					var="evento" iterationStatusVar="eventoIt" rows="3">
			<a4j:outputPanel id="gallery">
				<a4j:repeat id="imageList"
					value="#{homeMB.eventoAtual.imagemList}" var="image" 
					iterationStatusVar="it" rows="5">

					<a4j:mediaOutput element="img" mimeType="image/jpg"
						styleClass="thumbnail tableThumbnail"
						createContent="#{homeMB.print}" value="#{image.id}"
						cacheable="false" session="false">

					</a4j:mediaOutput>
				</a4j:repeat>
			</a4j:outputPanel>
</a4j:repeat>

Eu precisaria de algo como:

<a4j:repeat id="eventoList" value="#{homeMB.eventoList}"

......

chamar um método no managed bean para setar o evento atual
exibir a imagem na tela com o código descrito anteriormente.
......
</a4j:repeat>

Alguém poderia me ajudar nisso?
obs.: estou aberto à críticas construtivas desse meu pequeno código.

Obrigado pela atenção
Hader

Alguém poderia me ajuda?