/// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception>
        private bool CollectIDsByTypehandlerAspect(QueryingReadContext context)
        {
            BooleanByRef     aspectFound = new BooleanByRef(false);
            CollectIdContext subContext  = CollectIdContext.ForID(context.Transaction(), context
                                                                  .Collector(), context.CollectionID());
            ITraverseAspectCommand command = new _MarshallingInfoTraverseAspectCommand_349(this
                                                                                           , aspectFound, subContext, EnsureFieldList(subContext));

            TraverseAllAspects(subContext, command);
            return(aspectFound.value);
        }
        /// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception>
        private void CollectIDsByInstantiatingCollection(QueryingReadContext context)
        {
            int id = context.CollectionID();

            if (id == 0)
            {
                return;
            }
            Transaction         transaction = context.Transaction();
            ObjectContainerBase container   = context.Container();
            object obj = container.GetByID(transaction, id);

            if (obj == null)
            {
                return;
            }
            // FIXME: [TA] review activation depth
            int depth = DepthUtil.AdjustDepthToBorders(2);

            container.Activate(transaction, obj, container.ActivationDepthProvider().ActivationDepth
                                   (depth, ActivationMode.Activate));
            Platform4.ForEachCollectionElement(obj, new _IVisitor4_390(context));
        }