// This is dangerous - retrieves all cached objects from the database - use with care !

        private static IEnumerable <IObjectFacade> GetAndTidyCachedNakedObjects(this HttpSessionStateBase session, IFrameworkFacade facade, ObjectFlag flag)
        {
            session.ClearDestroyedObjects(facade, flag);
            return(session.GetCache(flag).OrderBy(kvp => kvp.Value.Added).Select(kvp => GetNakedObjectFromId(facade, kvp.Key)));
        }