title: Is the order of multi-valued fields in Lucene stable?
body: <p>Suppose I add several values to a <code>Document</code> under the same field name:</p>
  
  <pre><code>doc.Add( new Field( "tag", "one" ) );
  doc.Add( new Field( "tag", "two" ) );
  doc.Add( new Field( "tag", "three" ) );
  doc.Add( new Field( "tag", "four" ) );
  </code></pre>
  
  <p>If I then later retrieve these fields from a new instance of <code>Document</code> (from a search result), am I guaranteed that the order of the <code>Field</code>s in the array will remain the same?</p>
  
  <pre><code>Field[] fields = doc.GetFields( "tag" );
  
  Debug.Assert( fields[0].StringValue() == "one" );
  Debug.Assert( fields[1].StringValue() == "two" );
  Debug.Assert( fields[2].StringValue() == "three" );
  Debug.Assert( fields[3].StringValue() == "four" );
  </code></pre>