public void Send <T>(T telemetryData) where T : class, ITelemetry { if (telemetryData == null) { throw new ArgumentNullException(nameof(telemetryData)); } _telemetryInitializer.Initialize(telemetryData); _telemetryQueue.Enqueue(telemetryData); if (AutoCommit) { Commit(); } }