//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldIndexConcurrentUpdatesWhilePopulating() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldIndexConcurrentUpdatesWhilePopulating()
        {
            // GIVEN
            object value1       = "Mattias";
            object value2       = "Jacob";
            object value3       = "Stefan";
            object changedValue = "changed";
            long   node1        = CreateNode(map(_name, value1), _first);
            long   node2        = CreateNode(map(_name, value2), _first);
            long   node3        = CreateNode(map(_name, value3), _first);
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @SuppressWarnings("UnnecessaryLocalVariable") long changeNode = node1;
            long changeNode              = node1;
            int  propertyKeyId           = GetPropertyKeyForName(_name);
            NodeChangingWriter populator = new NodeChangingWriter(this, changeNode, propertyKeyId, value1, changedValue, _labelId);
            IndexPopulationJob job       = NewIndexPopulationJob(populator, new FlippableIndexProxy(), EntityType.NODE, IndexDescriptor(_first, _name, false));

            populator.Job = job;

            // WHEN
            job.Run();

            // THEN
            ISet <Pair <long, object> > expected = asSet(Pair.of(node1, value1), Pair.of(node2, value2), Pair.of(node3, value3), Pair.of(node1, changedValue));

            assertEquals(expected, populator.Added);
        }
 public IndexUpdaterAnonymousInnerClass(NodeChangingWriter outerInstance)
 {
     this.outerInstance = outerInstance;
 }