code: @Override
      public void handleChannelData(final String action, final JSONArray payload) throws BitfinexClientException {
          logger.info("Got order callback {}", payload.toString());
  
          // No orders active
          if (payload.isEmpty()) {
              eventConsumer.accept(symbol, Lists.newArrayList());
              return;
          }
  
          // Snapshot or update
          List<BitfinexSubmittedOrder> orders = Lists.newArrayList();
          if (payload.get(0) instanceof JSONArray) {
              for (int orderPos = 0; orderPos < payload.length(); orderPos++) {
                  final JSONArray orderArray = payload.getJSONArray(orderPos);
                  BitfinexSubmittedOrder exchangeOrder = jsonToBitfinexSubmittedOrder(orderArray);
                  orders.add(exchangeOrder);
              }
          } else {
              BitfinexSubmittedOrder exchangeOrder = jsonToBitfinexSubmittedOrder(payload);
              orders.add(exchangeOrder);
          }
          eventConsumer.accept(symbol, orders);
      }
docs: {@inheritDoc}