private boolean InnerStartGame() {
      // crate all machine players
      int currentIndex = 0;
      for (int i = 0; i < computerizedPlayers; i++) {
        AutomaticPlayer newMachinePlayer = new AutomaticPlayer();
        while (isNameAlreadyExists("Machine Player " + currentIndex)) {
          currentIndex++;
        }
        newMachinePlayer.setName("Machine Player " + currentIndex);
        currentIndex++;
        players.add(newMachinePlayer);
      }
      // all players have joined. we need to start the game
      gameLogic = new MonopolyGameLogic(useAutomaticDiceRoll);
      // Create the event Handler & register to the events
      listener =
          new GameStateChangedEventListener() {

            @Override
            public void gameStateChanged(GameStateChangedEvent evt) {
              HandleState(evt);
            }
          };
      gameLogic
          .getStateManager()
          .registerToGameChangedEvent(GameStateChangedEventListener.class, listener);
      if (!gameLogic.initGame(players)) {
        return false;
      }
      try {
        if (!gameLogic.startGame(false)) {
          return false;
        }
      } catch (Exception ex) {
        return false;
      }

      return true;
    }