public void Remove(object key)
{
if (key == null)
{
throw new ArgumentNullException("key");
}
string name = (string)key;
for(int i = 0; i < _items.Count; i++)
{
PrologVariableDictionaryEntry entry = (PrologVariableDictionaryEntry)_items[i];
if(entry.Name == name)
{
_items.RemoveAt(i);
return;
}
}
}