public bool Remove(string key)
{
if (String.IsNullOrEmpty(key)) throw new ArgumentNullException(nameof(key));
lock (CacheLock)
{
List<Tuple<string, object, DateTime>> dupes = new List<Tuple<string, object, DateTime>>();
if (Cache.Count > 0) dupes = Cache.Where(x => x.Item1.ToLower() == key).ToList();
else dupes = null;
if (dupes == null) return true;
else if (dupes.Count < 1) return true;
else
{
foreach (Tuple<string, object, DateTime> curr in dupes)
{
Cache.Remove(curr);
}
return true;
}
}
}