/**
  * @return
  * @throws SerializationException
  */
 public SerializableSdSystemBridge getSerializableSdSystemBridge() throws SerializationException {
   try {
     return new SerializableSdSystemBridge(
         _inputSdObject.getMemento(), _outputSdObject.getMemento());
   } catch (NullArgumentException e) {
     throw new SerializationException("Serialization failed because " + e.getMessage());
   }
 }
  @Override
  public void gameStarted(
      String playerId, IMultiPlayerGame game, SerializableGameModel gameModel, DateTime dateTime) {
    if (playerId.equals(_clientId)) {
      try {
        _game.removeListener(this);
        changeClientState(_client, new PlayingGameClientState(_server, _client, _clientId, _game));
      } catch (NullArgumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }

      gameModel.setProjects(null);
      _client.sendMessage(new GameStartedRequest(gameModel, dateTime.toString()).serialize());
    }
  }