private boolean cannotPlaceTileAtPosition(GridModel.GridPosition gridPosition) { BoardTileModel tileAtPosition; try { tileAtPosition = gridModel.get(gridPosition); if (tileAtPosition instanceof StartTileModel || tileAtPosition instanceof EndTileModel || tileAtPosition.isFull()) { return true; } if (!(tileAtPosition instanceof EmptyTileModel)) { MessagingCenter.getInstance().postGameEventMessage(GameConfig.GameEvent.TILE_DESTROYED); } return false; } catch (GridPositionOutOfBoundsException e) { return true; } }