public IReadOnlyCollection <TradeItem> Search(string value, TradeItemLevel?level = null) { if (string.IsNullOrWhiteSpace(value)) { return(EmptySeaarchResult); } var items = _tradeItemsDatabase.GetAllItems(level); var result = new List <TradeItem>(); Search(value, items, result); if (result.Count == 0) { Search(_translateService.ToAnotherKeyboardLayout(value), items, result); } return(result); }