internal Index GetIndex(IndexField[] indexDesc, DataViewRowState recordStates, IFilter rowFilter)
{
_indexesLock.EnterUpgradeableReadLock();
try
{
for (int i = 0; i < _indexes.Count; i++)
{
Index index = _indexes[i];
if (index != null)
{
if (index.Equal(indexDesc, recordStates, rowFilter))
{
return index;
}
}
}
}
finally
{
_indexesLock.ExitUpgradeableReadLock();
}
Index ndx = new Index(this, indexDesc, recordStates, rowFilter);
ndx.AddRef();
return ndx;
}