class BinanceMarketDataDemo {

  public static void main(String[] args) throws IOException {

    Exchange exchange = BinanceDemoUtils.createExchange();

    /* create a data service from the exchange */
    MarketDataService marketDataService = exchange.getMarketDataService();

    generic(exchange, marketDataService);
    raw((BinanceExchange) exchange, (BinanceMarketDataService) marketDataService);
    // rawAll((BinanceExchange) exchange, (BinanceMarketDataService) marketDataService);
  }

  public static void generic(Exchange exchange, MarketDataService marketDataService)
      throws IOException {}

  public static void raw(BinanceExchange exchange, BinanceMarketDataService marketDataService)
      throws IOException {<FILL_FUNCTION_BODY>}

  public static void rawAll(BinanceExchange exchange, BinanceMarketDataService marketDataService)
      throws IOException {

    List<BinanceTicker24h> tickers = new ArrayList<>(marketDataService.ticker24hAllProducts());
    tickers.sort((t1, t2) -> t2.getPriceChangePercent().compareTo(t1.getPriceChangePercent()));

    tickers.forEach(
        t ->
            System.out.println(
                t.getSymbol() + " => " + String.format("%+.2f%%", t.getLastPrice())));
  }
}


    List<BinanceTicker24h> tickers = new ArrayList<>();
    for (Instrument cp : exchange.getExchangeMetaData().getInstruments().keySet()) {
      if (cp.getCounter() == Currency.USDT) {
        tickers.add(marketDataService.ticker24hAllProducts(cp));
      }
    }

    tickers.sort((t1, t2) -> t2.getPriceChangePercent().compareTo(t1.getPriceChangePercent()));

    tickers.forEach(
        t ->
            System.out.println(
                t.getSymbol() + " => " + String.format("%+.2f%%", t.getPriceChangePercent())));
    System.out.println("raw out end");
  
<no_super_class>