public virtual IEnumerator ReferencesFrom(int id) { CollectIdContext context = CollectIdContext.ForID(_transaction, id); ClassMetadata classMetadata = context.ClassMetadata(); if (null == classMetadata) { // most probably ClassMetadata reading return(Iterators.EmptyIterator); } if (!classMetadata.HasIdentity()) { throw new InvalidOperationException(classMetadata.ToString()); } if (!Handlers4.IsCascading(classMetadata.TypeHandler())) { return(Iterators.EmptyIterator); } classMetadata.CollectIDs(context); return(new TreeKeyIterator(context.Ids())); }