public virtual void AddIndexEntry(FieldMetadata fieldMetadata, object obj) { if (!_currentBuffer.HasParent()) { object indexEntry = (obj == _currentMarshalledObject) ? _currentIndexEntry : obj; if (_isNew || !UpdateDepth().CanSkip(_reference)) { fieldMetadata.AddIndexEntry(Transaction(), ObjectID(), indexEntry); } return; } _currentBuffer.RequestIndexEntry(fieldMetadata); }