':param tick: The tick to insert
:type tick: Tick'

def insert_tick(self, tick):

    assert isinstance(tick, Tick), type(tick)
    if ((tick.price.wallet_id, tick.quantity.wallet_id) not in self._price_level_list_map):
        self._price_level_list_map[(tick.price.wallet_id, tick.quantity.wallet_id)] = PriceLevelList()
        self._depth[(tick.price.wallet_id, tick.quantity.wallet_id)] = 0
    if (not self._price_level_exists(tick.price)):
        self._create_price_level(tick.price, tick.quantity.wallet_id)
    tick_entry = TickEntry(tick, self._price_map[tick.price])
    self.get_price_level(tick.price).append_tick(tick_entry)
    self._tick_map[tick.order_id] = tick_entry
