public T Get(object target)
    {
        T value;

        while (!mCache.TryGet(target, out value))
        {
            mCache = mCache.Promote(target.GetType());
        }
        return(value);
    }
 public CallSite(string methodName)
 {
     mCache = new DefaultCache <T>(methodName);
 }