public void registerPlayerObserver(PlayerEventsObserver observer,boolean replyImmediately){
  if (this.connection == null)   return;
  playerEventsObservers.add(observer);
  if (replyImmediately)   replyWithLastResult(observer);
  if (playerEventsObservers.size() == 1) {
    if (connection.getProtocol() == HostConnection.PROTOCOL_TCP) {
      connection.registerPlayerNotificationsObserver(this,checkerHandler);
      connection.registerSystemNotificationsObserver(this,checkerHandler);
      connection.registerInputNotificationsObserver(this,checkerHandler);
      checkerHandler.post(tcpCheckerRunnable);
    }
 else {
      checkerHandler.post(httpCheckerRunnable);
    }
  }
}

public void registerPlayerObserver ( PlayerEventsObserver observer , boolean replyImmediately ) { if ( this . connection == null ) return ; playerEventsObservers . add ( observer ) ; if ( replyImmediately ) replyWithLastResult ( observer ) ; if ( playerEventsObservers . size ( ) == 1 ) { if ( connection . getProtocol ( ) == HostConnection . PROTOCOL_TCP ) { connection . registerPlayerNotificationsObserver ( this , checkerHandler ) ; connection . registerSystemNotificationsObserver ( this , checkerHandler ) ; connection . registerInputNotificationsObserver ( this , checkerHandler ) ; checkerHandler . post ( tcpCheckerRunnable ) ; } else { checkerHandler . post ( httpCheckerRunnable ) ; } } }
registers a new observer that will be notified about player events
