code: @Override
      public void handleChannelData(final String action, final JSONArray payload) throws BitfinexClientException {
          if (payload.isEmpty()) {
              return;
          }
          // channel symbol trade:1m:tLTCUSD
          final Set<BitfinexCandle> candlestickList = new TreeSet<>(Comparator.comparing(BitfinexCandle::getTimestamp));
  
          // Snapshots contain multiple Bars, Updates only one
          if (payload.get(0) instanceof JSONArray) {
              for (int pos = 0; pos < payload.length(); pos++) {
                  final JSONArray parts = payload.getJSONArray(pos);
                  BitfinexCandle candlestick = jsonToCandlestick(parts);
                  candlestickList.add(candlestick);
              }
          } else {
              BitfinexCandle candlestick = jsonToCandlestick(payload);
              candlestickList.add(candlestick);
          }
          candlesConsumer.accept(symbol, candlestickList);
      }
docs: {@inheritDoc}