public void Load(string filePath) { var readLogTask = eventStreamProvider.Read(filePath); var processTask = Task.Run(() => ProcessEvents(readLogTask)); var logTask = Task.Run(() => LogEvents(processTask)); Task.WaitAll(processTask, logTask); }