Pegar a foto do p:fileUpload e carregar em um dataGrid

Pessoal estou tentando pegar a foto do p:fileUpload e carregar em um dataGrid mais não esta dando certo , o datagrid fica vazio…

Estou passado um Image no value do <p:graphicImage/>

Veja meu código pagina.xhtml

 <p:dataGrid id="dgdFotos"
                                var="foto"
                                value="#{albumMB.fotos}"
                                columns="3"
                                rows="6"
                                paginator="true"
                                effect="true">
                        <p:column>
                            <p:panel header="#{foto.nome}"
                                     style="text-align:center">
                                <h:panelGrid columns="1"
                                             style="width:100%">
                                    <p:graphicImage value="#{foto.imagem}"/>
                                    <h:outputText value="#{foto.nome}" />
                                </h:panelGrid>
                            </p:panel>
                        </p:column>
                    </p:dataGrid>
                    <h:outputLink title="Upload Fotos"
                                  onclick="fudSelecionarFotos.upload();"/>
                    <p:fileUpload id="fudSelecionarFotos"
                                  fileUploadListener="#{albumMB.selecionarFotos}"
                                  image="/imagens/selecionarFotos.jpg"
                                  multiple="true"
                                  allowTypes="*.jpg;*.png;*.gif;"
                                  description="Images"
                                  update="dgdFotos"/>

meu MB

  public void selecionarFotos(FileUploadEvent event) {
        UploadedFile uf = event.getFile();
        String nomeArquivo = uf.getFileName();
        Foto foto = new Foto();
        foto.setNome(nomeArquivo);
        InputStream is = null;
        try {
            is = uf.getInputstream();
            foto.setFoto(new byte[is.available()]);
            Image imagem = Toolkit.getDefaultToolkit().createImage(new byte[is.available()]);
            foto.setImagem(imagem);
            this.getFotos().add(foto);
        } catch (IOException ex) {
            ex.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }

Alguem poderia me ajudar?

Obrigado

Iae pessoal aguem?