public WebDavSqlStoreCollection GetCollection(IWebDavStoreCollection parentCollection, string path, String rootPath, Guid rootGuid) { var p = PrincipleFactory.Instance.GetPrinciple(FromType.WebDav); string userkey = p.UserProfile.SecurityObjectId.ToString(); CacheBase mc = GetCachedObject(path) as CacheBase; WebDavSqlStoreCollection itm = null; if (mc != null) { itm = mc.GetCachedObject(userkey) as WebDavSqlStoreCollection; } if (itm != null) { return(itm); } itm = new WebDavSqlStoreCollection(parentCollection, path, rootPath, rootGuid, Store); if (mc == null) { mc = new CacheBase(); mc.AddCacheObject(userkey, itm); AddCacheObject(path, mc); } else { mc.AddCacheObject(userkey, itm); } return(itm); }