private void FindNextMatch(int startIndex, string searchString, bool reverse)
{
if (Revisions.RowCount == 0)
return;
int? searchResult;
if (reverse)
searchResult = SearchInReverseOrder(startIndex, searchString);
else
searchResult = SearchForward(startIndex, searchString);
if (!searchResult.HasValue)
return;
Revisions.ClearSelection();
Revisions.Rows[searchResult.Value].Selected = true;
Revisions.CurrentCell = Revisions.Rows[searchResult.Value].Cells[1];
}