public HResult Next(uint requestedNumber, ref IntPtr buffer, ref uint fetchedNumber)
{
current++;
if (current < conditionList.Count)
{
buffer = Marshal.GetIUnknownForObject(conditionList[current]);
fetchedNumber = 1;
return HResult.S_OK;
}
return HResult.S_FALSE;
}