code: private void handleResubscribeFailed(final Map<Integer, ChannelCallbackHandler> oldChannelIdSymbolMap)
  			throws BitfinexClientException, InterruptedException {
  		
  		final int requiredSymbols = oldChannelIdSymbolMap.size();
  		final int subscribedSymbols = channelIdToHandlerMap.size();
  		
  		// Unsubscribe old channels before the symbol map is restored
  		// otherwise we will get a lot of unknown symbol messages
  		unsubscribeAllChannels();
  
  		// Restore old symbol map for reconnect
  		synchronized (channelIdToHandlerMap) {
  			channelIdToHandlerMap.clear();
  			channelIdToHandlerMap.putAll(oldChannelIdSymbolMap);
  		}
  		
  		throw new BitfinexClientException("Subscription of ticker failed: got only "
  				+ subscribedSymbols + " of " + requiredSymbols + " symbols subscribed");
  	}
docs: Handle channel re-subscribe failed
  
  @param oldChannelIdSymbolMap
  @throws BitfinexClientException
  @throws InterruptedException