code: protected void unsubscribe( String id, MessagingContext ctx ) throws IOException {
  
  		if( ! canProceed())
  			return;
  
  		Set<MessagingContext> sub = this.routingContext.subscriptions.get( id );
  		if( sub != null ) {
  			sub.remove( ctx );
  			if( sub.isEmpty())
  				this.routingContext.subscriptions.remove( id );
  		}
  	}
docs: Unregisters a subscription between an ID and a context.
  @param id a client ID
  @param ctx a messaging context
  @throws IOException