class TrueFxTickerDeserializer extends JsonDeserializer<TrueFxTicker> {
    private final CsvMapper mapper = new CsvMapper();
    private final CsvSchema schema = mapper.schemaFor(TrueFxTicker.class);

    @Override
    public TrueFxTicker deserialize(JsonParser parser, DeserializationContext context)
        throws IOException, JsonProcessingException {<FILL_FUNCTION_BODY>}
  }

      ArrayNode array = mapper.readerFor(TrueFxTicker.class).with(schema).readTree(parser);

      String pair = array.get(0).asText();
      long timestamp = array.get(1).asLong();
      BigDecimal bid = new BigDecimal(array.get(2).asText());
      BigDecimal bidBP = new BigDecimal(array.get(3).asText());
      BigDecimal ask = new BigDecimal(array.get(4).asText());
      BigDecimal askBP = new BigDecimal(array.get(5).asText());
      BigDecimal low = new BigDecimal(array.get(6).asText());
      BigDecimal high = new BigDecimal(array.get(7).asText());
      BigDecimal open = new BigDecimal(array.get(8).asText());

      return new TrueFxTicker(pair, timestamp, bid, bidBP, ask, askBP, low, high, open);
    
<no_super_class>