private IEnumerable <FlightPathData> FlightPathDataStream()
        {
            //Console.WriteLine("FlightPathDataStream re-initialized! - why?");
            while (true)
            {
                yield return(FlightPathDataUtils.CopyOf(currentSample));

                flightAdvancer.Invoke(currentSample);
            }
        }
 public FlightDataGenerator(
     string name,
     FlightPathData initialFlightPathData,
     Action <FlightPathData> flightAdvancer
     )
 {
     this.name            = name;
     currentSample        = FlightPathDataUtils.CopyOf(initialFlightPathData);
     flightPathDataStream = FlightPathDataStream();
     this.flightAdvancer  = flightAdvancer;
 }