public bool MoveNext() { if (IsValid) { currentRecordSet = nextRecordSet; // set the current record set. if (!IsLastResult) { try { TaskEnumeratorResult enumeratorResultSet = null; enumeratorResultSet = handler.NextRecord(pointer.ClusterAddress.IpAddress.ToString(), pointer); if (enumeratorResultSet != null) { nextRecordSet = enumeratorResultSet.RecordSet; IsLastResult = enumeratorResultSet.IsLastResult; isValid = true; } } catch (OperationFailedException ex) { isValid = false; throw new Exception("Output corrupted on node : " + pointer.ClientAddress.ToString() + "and Exception is :" + ex); } } else { isValid = false; // Means enumerator has the last entry. // Return True for that last entry return(true); } } return(IsValid); }