*/
public synchronized HoldemPlayerContext sitIn(SeatId seatId, int buyIn, MutablePlayer player,
HoldemPlayerListener holdemPlayerListener)
throws IllegalActionException {
try {
HoldemPlayerContext toReturn = tableState.sitIn(seatId, new MutableSeatedPlayer(player, buyIn, true));
sitInPlayers.put(player.getId(), holdemPlayerListener);
subscribeHoldemPlayerListener(player.getId(), holdemPlayerListener);
if (sitInPlayers.size() == 2 && configuration.isAutoDeal() && !tableState.isPlaying()) {
tableState = tableState.getNextState();
tableState.deal();