private void acceptImpl(Player player) { setStateLockedImpl(); if (hasStateChildrenImpl()) { getHandle().removeAll(); this.childGrids.clear(); this.childGrids = null; this.states = getStates() & ~States.HAS_CHILDREN; } synchronized (mutex) { this.player = player; getHandle().setImage(getImageOfPlayerImpl(player), true); boolean isGreat = isGreatParentImpl(); if (isGreat) { getGameManager().getTurnManager().endEvent().raise(eventKey, this, new EmptyEventContext()); playEvent.raise( eventKey, this, new PlayContextImpl(getGameManager().getFlagOf(player), null)); return; } PlayContextImpl context = new PlayContextImpl(getGameManager().getFlagOf(player), getCoord()); playEvent.raise(eventKey, this, context); GridCoord c = getCoord(); GridCollection.UpdateInfo ui = peerGrids.update(); Flag f = ui.getFlag(); if (f != Flag.NONE) { localEndEvent.raise(eventKey, this, new PlayContextImpl(f, c)); } } }