//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private void updateReader(org.neo4j.kernel.impl.api.KernelTransactionImplementation kti) throws Exception
        private void UpdateReader(KernelTransactionImplementation kti)
        {
            _modifiedEntityIdsInThisTransaction.clear();               // Clear this so we don't filter out entities who have had their changes reversed since last time.
            _writer.resetWriterState();
            AllStoreHolder   read             = ( AllStoreHolder )kti.DataRead();
            TransactionState transactionState = kti.TxState();

            using (NodeCursor nodeCursor = _visitingNodes ? kti.Cursors().allocateNodeCursor() : null, RelationshipScanCursor relationshipCursor = _visitingNodes ? null : kti.Cursors().allocateRelationshipScanCursor(), PropertyCursor propertyCursor = kti.Cursors().allocatePropertyCursor())
            {
                transactionState.Accept(_txStateVisitor.init(read, nodeCursor, relationshipCursor, propertyCursor));
            }
            FulltextIndexReader baseReader         = ( FulltextIndexReader )read.IndexReader(_descriptor, false);
            FulltextIndexReader nearRealTimeReader = _writer.NearRealTimeReader;

            _currentReader      = new TransactionStateFulltextIndexReader(baseReader, nearRealTimeReader, _modifiedEntityIdsInThisTransaction);
            _lastUpdateRevision = kti.TransactionDataRevision;
        }
 internal virtual FulltextIndexReader GetIndexReader(KernelTransactionImplementation kti)
 {
     if (_currentReader == null || _lastUpdateRevision != kti.TransactionDataRevision)
     {
         if (_currentReader != null)
         {
             _toCloseLater.Add(_currentReader);
         }
         try
         {
             UpdateReader(kti);
         }
         catch (Exception e)
         {
             _currentReader = null;
             throw new Exception("Failed to update the fulltext schema index transaction state.", e);
         }
     }
     return(_currentReader);
 }
 internal TransactionStateFulltextIndexReader(FulltextIndexReader baseReader, FulltextIndexReader nearRealTimeReader, MutableLongSet modifiedEntityIdsInThisTransaction)
 {
     this._baseReader         = baseReader;
     this._nearRealTimeReader = nearRealTimeReader;
     this._modifiedEntityIdsInThisTransaction = modifiedEntityIdsInThisTransaction;
 }