private int?LastIndexOf(uint pokemonId) { var targetPriority = PokemonList.IndexOf(pokemonId); lock (_queueLock) { for (var i = 0; i < _pokemonQueue.Count; i++) { var pokemon = _pokemonQueue[i]; var priority = PokemonList.IndexOf(pokemon.PokemonId); if (targetPriority < priority) { return(i); } } } return(null); }