public BasePlayerItem TryGetItem(ItemTemplate template, System.Collections.Generic.IEnumerable <EffectBase> effects, CharacterInventoryPositionEnum position, BasePlayerItem except)
        {
            System.Collections.Generic.IEnumerable <BasePlayerItem> source =
                from entry in base.Items.Values
                where entry != except && entry.Template.Id == template.Id && entry.Position == position && effects.CompareEnumerable(entry.Effects)
                select entry;

            return(source.FirstOrDefault <BasePlayerItem>());
        }