// ---- METHODS (PRIVATE) --------------------------------------------------------------------------------------

        private bool TryGetItemEntry(object data, ItemEntryType type, out ItemEntry entry)
        {
            foreach (ItemEntry savedItem in _savedItems)
            {
                if (savedItem.Data.Equals(data) && savedItem.Type == type)
                {
                    entry = savedItem;
                    return(true);
                }
            }
            entry = null;
            return(false);
        }
 internal ItemEntry(object data, ItemEntryType type, uint?offset = null, uint?target = null,
                    Action callback = null, int index = -1)
 {
     Data    = data;
     Type    = type;
     Offsets = new List <uint>();
     if (offset.HasValue) // Might be null for enumerable entries to resolve references to them later.
     {
         Offsets.Add(offset.Value);
     }
     Callback = callback;
     Target   = target;
     Index    = index;
 }