public synchronized void unregister(Object subscriber,Class<?>... eventTypes){
  if (eventTypes.length == 0) {
    throw new IllegalArgumentException("Provide at least one event class");
  }
  List<Class<?>> subscribedClasses=typesBySubscriber.get(subscriber);
  if (subscribedClasses != null) {
    for (    Class<?> eventType : eventTypes) {
      unubscribeByEventType(subscriber,eventType);
      subscribedClasses.remove(eventType);
    }
    if (subscribedClasses.isEmpty()) {
      typesBySubscriber.remove(subscriber);
    }
  }
 else {
    Log.w(TAG,"Subscriber to unregister was not registered before: " + subscriber.getClass());
  }
}

public synchronized void unregister ( Object subscriber , Class < ? > ... eventTypes ) { if ( eventTypes . length == 0 ) { throw new IllegalArgumentException ( "Provide at least one event class" ) ; } List < Class < ? > > subscribedClasses = typesBySubscriber . get ( subscriber ) ; if ( subscribedClasses != null ) { for ( Class < ? > eventType : eventTypes ) { unubscribeByEventType ( subscriber , eventType ) ; subscribedClasses . remove ( eventType ) ; } if ( subscribedClasses . isEmpty ( ) ) { typesBySubscriber . remove ( subscriber ) ; } } else { Log . w ( TAG , "Subscriber to unregister was not registered before: " + subscriber . getClass ( ) ) ; } }
unregisters the given subscriber for the given event classes .
