public Object Get(SHA1 key)
{
if (cache == null)
cache = new Dictionary<SHA1,Object>();
if (cache.ContainsKey (key))
return cache[key];
if (ObjectExist (key)) {
cache.Add (key, RetrieveObject (key));
} else {
throw new ArgumentException (String.Format ("The specified key {0} does not exist", key.ToHexString ()));
}
return cache[key];
}