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>()); }