public CollectionMemento(ILifecycleManager lifecycleManager, INakedObjectManager nakedObjectManager, IMetamodelManager metamodel, INakedObjectAdapter target, IActionSpec actionSpec, INakedObjectAdapter[] parameters)
            : this(lifecycleManager, nakedObjectManager, metamodel) {
            Target = target;
            Action = actionSpec;
            Parameters = parameters;

            if (Target.Spec.IsViewModel) {
                lifecycleManager.PopulateViewModelKeys(Target);
            }
        }
        public CollectionMemento(ILifecycleManager lifecycleManager, INakedObjectManager nakedObjectManager, IMetamodelManager metamodel, INakedObjectAdapter target, IActionSpec actionSpec, INakedObjectAdapter[] parameters)
            : this(lifecycleManager, nakedObjectManager, metamodel)
        {
            Target     = target;
            Action     = actionSpec;
            Parameters = parameters;

            if (Target.Spec.IsViewModel)
            {
                lifecycleManager.PopulateViewModelKeys(Target);
            }
        }
        public IOidTranslation GetOidTranslation(IObjectFacade objectFacade)
        {
            if (objectFacade.IsViewModel)
            {
                var vm = ((ObjectFacade)objectFacade).WrappedNakedObject;
                lifecycleManager.PopulateViewModelKeys(vm);
            }

            var oid = objectFacade.Oid;
            var id  = GetObjectId(oid);

            return(GetOidTranslation(id));
        }