Android Camera - Salve a imagem em uma nova pasta no cartão SD

Eu tenho um aplicativo muito simples, que no momento tira uma foto e salva a imagem. O problema no momento é que, por algum motivo, não consigo encontrar para onde a imagem está sendo salva no telefon

O resultado final com o que estou tentando fazer é que, quando uma foto é tirada, a imagem é salva em uma nova pasta que foi criada no cartão SD, mas se a pasta ainda não existir, ela deverá ser criada ( automaticamente) antes que a imagem possa ser salv

Tentei usar a resposta nesta pergunta mas parece que não o é proporcional sem obter o erroimageIntent cannot be resolved

EDIT: Agora a imagem é salva no cartão SD e é criada uma pasta, mas substituindo a imagem visível. Preciso salvar várias imagens se alguém tiver algum código de sugestão atualizado

Este é um trecho do meu código:

PictureCallback myPictureCallback_JPG = new PictureCallback(){

    public void onPictureTaken(byte[] arg0, Camera arg1) {
        // TODO Auto-generated method stub
        /*Bitmap bitmapPicture 
            = BitmapFactory.decodeByteArray(arg0, 0, arg0.length);  */


        int imageNum = 0;
        Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        File imagesFolder = new File(Environment.getExternalStorageDirectory(), "Punch");
        imagesFolder.mkdirs(); // <----
        String fileName = "image_" + String.valueOf(imageNum) + ".jpg";
        File output = new File(imagesFolder, fileName);
        while (output.exists()){
            imageNum++;
            fileName = "image_" + String.valueOf(imageNum) + ".jpg";
            output = new File(imagesFolder, fileName);
        }
        Uri uriSavedImage = Uri.fromFile(image);
        imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);


        OutputStream imageFileOS;
        try {
            imageFileOS = getContentResolver().openOutputStream(uriSavedImage);
            imageFileOS.write(arg0);
            imageFileOS.flush();
            imageFileOS.close();

            Toast.makeText(AndroidCamera.this, 
                    "Image saved: ", 
                    Toast.LENGTH_LONG).show();

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        camera.startPreview();
    }};

EDITA

código foi atualizado para salvar várias imagens agora em uma nova pasta criada no cartão S

questionAnswers(3)

yourAnswerToTheQuestion