private void respondToMapSelection(RambleOn game, int mouseX, int mouseY) {
        //GET THE MAP FOR THE CURRENT REGION
        BufferedImage img = dataManager.getCurrentMap();
        //EXTRACT THE COLOR OF THE PIXEL AT THE x,y CORDINATES OF THE MOUSE CLICK
        int rgb = img.getRGB(mouseX, mouseY);
        Color pixelColor = new Color(rgb);
        //SEE IF THE COLOR MAPS TO ANY OF THE CURRENT REGIONS SUB REGIONS
        String clickedSubRegion = colorToSubRegionMappings.get(pixelColor);
        //IF IT DOESNT WE DO NOTHING
        if ((clickedSubRegion == null) || (curModeStack().isEmpty())) {
            return;
        }
        //ELSE WE NEED TO SEE IF THE REGION SELECTED CORRESPONDS TO THE ELEMENT
        //ON THE BOTTOM OF THE STACK
        String spriteID;
        //GET THE SPRITE ID FOR THE BOTTOMS MOST STACK ELEMENT DEPENDING ON GAME MODE
        if (getCurMode() == RambleOnModeType.FLAG_MODE || getCurMode() == RambleOnModeType.LEADER_MODE) {
            spriteID = ((Sprite) curModeStack().get(0)).getSpriteType().getSpriteTypeID();
        } else {
            spriteID = ((TextualSprite) curModeStack().get(0)).getSpriteType().getSpriteTypeID();
        }
        //SEE IF THE SELECTED REGION CORRESPONDS TO THE BOTTOM MOST STACK ELEMENT
        if (clickedSubRegion.equals(spriteID)) {
            //PLAY SUCCESS AUDIO FILE SNIPPET
            game.getAudio().play(SUCCESS, false);

            //COLOR A CORRECTLY SELECTED REGIONS PIXELS GREEN
            changeSubRegionColorOnMap(clickedSubRegion, Color.GREEN);

            //AND LET'S CHANGE THE RED ONES BACK TO THEIR PROPER COLORS
            for (String s : redSubRegions) {
                Color subRegionColor = subRegionToColorMappings.get(s);
                changeSubRegionColorOnMap(s, subRegionColor);
            }
            //AND CLEAR THE LIST OF RED SUB REGIONS
            redSubRegions.clear();

            //AND SINCE WE CORRECTLY PICKED A REGION WE MOVE IT OFF THE STACK
            //BY SHIFTING THE STACK DOWN
            startStackSpritesMovingDown();

            //REMOVE THE BOTTOM ELEMENT FROM THE STACK
            curModeStack().removeFirst();

            //IF THAT WAS THE LAST ELEMENT ON THE STACK THE GAME IS OVER
            if (curModeStack().isEmpty()) {
                //FINAL TIME
                winEndingTime = new GregorianCalendar();
                //SET THE WIN STATE
                endGameAsWin();

                //PLAY THE WINNING AUDIO WHICH IS THE NATIONAL ANTHEM
                //OF THE CURRENT REGION, IF ITS AVAILABLE
                try {
                    //STOP THE TRACKED SONG
                    game.getAudio().stop(TRACKED_SONG);
                    //ATTEMPT TO LOAD THE NATION ANTHEM FOR THE CURRENT REGION
                    game.getAudio().loadAudio(dataManager.getCurrentRegion().getName(), getNationalAnthemFile());
                    //AND THEN PLAY IT AS THE VICTORY SONG
                    game.getAudio().play(dataManager.getCurrentRegion().getName(), false);
                } catch (UnsupportedAudioFileException | IOException | LineUnavailableException | InvalidMidiDataException | MidiUnavailableException ex) {
                    //IF WE COUDLNT FIND A NATIONAL ANTHEM FOR THE CURENT REGION JUST PLAY
                    //THE DEFAULT TRACKED SONG
                    game.getAudio().play(TRACKED_SONG, false);
                }
                //SAVE THE GAME PLAY INFORMATION TO THE CURRENT USERS ACCOUNT
                updateAccountInformation();
            }
        }//REGION SELECTED DID NOT CORRESPOND TO THE BOTTOM MOST STACK ELEMENT
        else {
            if (!redSubRegions.contains(clickedSubRegion)) {
                //WRONG ANSWER AUDIO
                game.getAudio().play(FAILURE, false);

                //INCREMENT WRONG GUESSES
                incorrectGuesses++;

                //TURN THE TERRITORY TEMPORARILY RED
                changeSubRegionColorOnMap(clickedSubRegion, Color.RED);
                //AND IT TO THE LIST OF CURRENTLY RED SUB REGIONS
                redSubRegions.add(clickedSubRegion);
            }
        }
    }