/// <summary>
        /// Bearbeitet neue Daten vom Aufzeichnungsprozess. Dieser Aufruf erfolgt immer,
        /// wenn neue Informationen vorliegen und zusätzlich einmal unmittelbar nach
        /// dem Beenden durch <see cref="OnStop"/>.
        /// </summary>
        /// <param name="state">Die neuen Daten.</param>
        protected override void OnNewStateAvailable(ServerInformation state)
        {
            // Scan results
            var newFiles  = new List <FileInformation>();
            var totalSize = default(long);

            // Process all files
            lock (m_recordings)
            {
                // Collect files
                foreach (var stream in state.Streams ?? Enumerable.Empty <StreamInformation>())
                {
                    foreach (var file in stream.AllFiles ?? Enumerable.Empty <FileStreamInformation>())
                    {
                        // If we do not know this file remember for extension processing
                        var info = FileInformation.Create(file, stream.UniqueIdentifier);
                        if (m_files.Add(info))
                        {
                            newFiles.Add(info);
                        }
                    }
                }

                // Count up the total sum
                if (m_files.Count > 0)
                {
                    totalSize = m_files.Sum(file => file.FileSize.GetValueOrDefault(0));
                }
            }

            // Total file size
            Representative.TotalSize = (uint)(totalSize / 1024);

            // No new files
            if (newFiles.Count < 1)
            {
                return;
            }

            // Report
            Tools.ExtendedLogging("Found {0} new Recording File(s) on {1}", newFiles.Count, ProfileName);

            // Time to clone the environment
            var environment = new Dictionary <string, string>(ExtensionEnvironment);

            // Fill environment
            AddFilesToEnvironment(environment, "Planned", newFiles);

            // Fire up extensions
            FireRecordingStartedExtensions(environment);
        }