public virtual void RemoveReportAt(int index)
        {
            Contract.Requires <ArgumentOutOfRangeException>(index >= 0 && index < ScenarioReports.Count());

            Contract.Assume(index < this._scenarioReports.Count);

            this._scenarioReports.RemoveAt(index);
        }
        /// <summary>
        ///     Moves a report at the specified index one step up.
        /// </summary>
        /// <param name="index">The index of the report.</param>
        public virtual void MoveReportUpAt(int index)
        {
            Contract.Requires <ArgumentOutOfRangeException>(index >= 0 && index < ScenarioReports.Count());

            Contract.Assume(index < this._scenarioReports.Count);

            ScenarioReport report = this._scenarioReports[index];

            this._scenarioReports.RemoveAt(index);
            this._scenarioReports.Insert(index - 1, report);
        }