@Override
    public void onMessage(String message, Object o) {
        System.out.println("Game_Started = " + this.game_started);
        if (this.game_started) {
            try {
                super.onMessage(message);

                switch (message) {
                    case "pushSessionUpdate":
                        ISession _temp = (ISession) o;

                        if (_temp.getPlayerNumber() == 1) {
                            //update player A
                            this.playerA = _temp;
                            //got update from player A, notify player B
                            this.playerB.onMessage("getSessionUpdate", _temp.getPlayerPosition());
                        } else {
                            //update player B
                            this.playerB = _temp;
                            //got update from player B, notify player A
                            this.playerA.onMessage("getSessionUpdate", _temp.getPlayerPosition());
                        }
                        break;
                    case "gameDisconnect":
                        //this.stop();
                        if (this.getPlayerB() != null && this.getPlayerA() != null) {
                            //send disconnect to other player
                            this.getPlayerB().onMessage("serverDisconnect", null);
                            //this.unRegister(this.getPlayerB());

                            this.getPlayerA().onMessage("serverDisconnect", null);
                            //this.unRegister(this.getPlayerA());

                            //server.onMessage("gameStopped", this);
                            break;
                        }
                }
            } catch (RemoteException ex) {
                Logger.getLogger(PongGame.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

    }