private void OfferQuestByThisItem(IEnumerable <QuestOffer <ItemOfferAttributes> > offers, Item item)
        {
            foreach (var offer in offers)
            {
                if (!ItemHelper.CheckItemContextTags(item, offer.OfferDetails.ItemContextTags))
                {
                    continue;
                }

                int id = this._questManager.ResolveGameQuestId(offer.QuestName);

                if (id == -1 || Game1.player.hasQuest(id) || this.WasItemPicked(item))
                {
                    continue;
                }

                this._questManager.AcceptQuest(offer.QuestName);
                this.ShowItemUp(item, Game1.player, offer.OfferDetails.FoundMessage);
                this._monitor.Log($"Offered quest `{offer.QuestName}` by item object {item.Name}");
            }
        }