class BitfinexWebSocketTickerTransaction {

  public String channelId;
  public String[] tickerArr;

  public BitfinexWebSocketTickerTransaction() {}

  public BitfinexWebSocketTickerTransaction(String channelId, String[] tickerArr) {
    this.channelId = channelId;
    this.tickerArr = tickerArr;
  }

  public String getChannelId() {
    return channelId;
  }

  public BitfinexTicker toBitfinexTicker() {<FILL_FUNCTION_BODY>}
}

    BigDecimal bid = new BigDecimal(tickerArr[0]);
    BigDecimal bidSize = new BigDecimal(tickerArr[1]);
    BigDecimal ask = new BigDecimal(tickerArr[2]);
    BigDecimal askSize = new BigDecimal(tickerArr[3]);
    BigDecimal mid = ask.subtract(bid);
    BigDecimal low = new BigDecimal(tickerArr[9]);
    BigDecimal high = new BigDecimal(tickerArr[8]);
    BigDecimal last = new BigDecimal(tickerArr[6]);
    // Xchange-bitfinex adapter expects the timestamp to be seconds since Epoch.
    double timestamp = System.currentTimeMillis() / 1000;
    BigDecimal volume = new BigDecimal(tickerArr[7]);

    return new BitfinexTicker(mid, bid, bidSize, ask, askSize, low, high, last, timestamp, volume);
  
<no_super_class>