[RESOLVIDO] Salvar imagem carregada

Oi pessoal, estou tentando salvar o corte de uma imagem que eu fiz upload e recortei mas não estou conseguindo nem a pau kkkk.
segue o bean:

        //Dentro deste setImagemEnviada eu tenho a imagem que funciona e é exibida, mas não consigo salvar
        setImagemEnviada(new DefaultStreamedContent(new ByteArrayInputStream(croppedImage.getBytes())));
        //daqui em diante é uma tentativa de tentar salvar a imagem em uma pasta, que não estou tendo sucesso
        ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
        String newFileName = servletContext.getRealPath("") + File.separator + "upload" + File.separator + "croppedImage.jpg";
        System.out.print(newFileName);
        FileImageOutputStream imageOutput;
        try {
            imageOutput = new FileImageOutputStream(new File(newFileName));
            imageOutput.write(croppedImage.getBytes(), 0, croppedImage.getBytes().length);
            imageOutput.flush();
            imageOutput.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

ao chamar esta função no corte e pedir para que me abra no navegador a imagem recortada, ela funciona perfeitamente, inclusive me mostra a imagem recortada, mas não estou conseguindo mesmo é salvar.
No xhtml só adicionei isso para exibir a imagem:

<p:graphicImage value="#{indexManagedBean.imagemEnviada}" cache="false"/>

era erro de besta mesmo, pura falta de atenção, o realpath leva para a pasta dist, e não para a pasta raiz de desenvolvimento.

Desculpe mas estou com o mesmo problema meu código é bem parecido com o seu porem não consegui identificar a sua solução pode me explicar?

Obrigado!