code: @Override
  	public void handleChannelData(final String action, final JSONArray payload) throws BitfinexClientException {
  		List<BitfinexWallet> wallets = Lists.newArrayList();
  
  		if (payload.isEmpty()) {
  			walletConsumer.accept(symbol, wallets);
  			return;
  		}
  
  		if (payload.get(0) instanceof JSONArray) {
  			// snapshot
  			for (int walletPos = 0; walletPos < payload.length(); walletPos++) {
  				final JSONArray walletArray = payload.getJSONArray(walletPos);
  				BitfinexWallet wallet = jsonArrayToWallet(walletArray);
  				wallets.add(wallet);
  			}
  		} else {
  			// update
  			BitfinexWallet wallet = jsonArrayToWallet(payload);
  			wallets.add(wallet);
  		}
  		walletConsumer.accept(symbol, wallets);
  	}
docs: {@inheritDoc}