Lucene.Net.Index.IndexWriter.GetNextExternalMerge C# (CSharp) Method

GetNextExternalMerge() private method

Like getNextMerge() except only returns a merge if it's external.
private GetNextExternalMerge ( ) : MergePolicy.OneMerge
return MergePolicy.OneMerge
		private MergePolicy.OneMerge GetNextExternalMerge()
		{
			lock (this)
			{
				if (pendingMerges.Count == 0)
					return null;
				else
				{
                    var it = pendingMerges.GetEnumerator();
					while (it.MoveNext())
					{
                        MergePolicy.OneMerge merge = it.Current;
						if (merge.isExternal)
						{
							// Advance the merge from pending to running
                            pendingMerges.Remove(merge);  // {{Aroush-2.9}} From Mike Garski: this is an O(n) op... is that an issue?
                            runningMerges.Add(merge);
							return merge;
						}
					}
					
					// All existing merges do not involve external segments
					return null;
				}
			}
		}
		
IndexWriter