public boolean onSceneClickEvent(final MouseEvent pMouseEvent) {
        
        final Scene childScene = this.mChildScene;
        if(childScene != null) {
            final boolean handledByChild = this.onChildSceneClickEvent(pMouseEvent);
            if(handledByChild) {
                return true;
            } 
//            else {
//                return false;
//            }
        }
        
        final int sceneClickEventX = pMouseEvent.getX();
        final int sceneClickEventY = pMouseEvent.getY();
        
        final List<IMouseArea> mouseAreas = this.mMouseAreas;
        if (null != mouseAreas) {
            final int clickAreaCount = mouseAreas.size();
            
            if (clickAreaCount > 0) {
                for (int i = clickAreaCount - 1; i >= 0; i--) {
                    final IMouseArea mouseArea = mouseAreas.get(i);
                    
                    if (mouseArea.contains(sceneClickEventX, sceneClickEventY)) {
                        final Boolean handledSelf = this.onMouseAreaEvent(pMouseEvent, mouseArea);
                        
                        if (handledSelf != null && handledSelf) {
                            return true;
                        }
                    }
                }
            } 
        }
        
        return false;
    }