protected void PostOutputData(TOutputDataType[] ReturningResults, DataItemAcknowledgementCallback AcknowledgementCallback, bool LogicallyGrouped) { lock (shutdownLock) { if (shutdown) { return; } } try { if (ReturningResults != null || ReturningResults.Length > 0) { if (AcknowledgementCallback == null) { if (ReturningResults.Length == 1) { ModuleHost.PostOutputDataItem(ReturningResults[0]); } else { ModuleHost.PostOutputDataItems(ReturningResults, LogicallyGrouped); } } else { if (ReturningResults.Length == 1) { ModuleHost.PostOutputDataItem(ReturningResults[0], AcknowledgementCallback, null); } else { ModuleHost.PostOutputDataItems(ReturningResults, LogicallyGrouped, AcknowledgementCallback, null); } } } } catch (Exception e) { ModuleHost.NotifyError(ModuleErrorSeverity.DataLoss, e); } }