List <int> selectedIndices = new List <int>();    // store the order of selection for Alts

        public SelectBaseAltsForm(Template.TemplateInfo templateInfo)
        {
            InitializeComponent();

            this.templateInfo = templateInfo;

            labCaption.Text = templateInfo.name;

            // try to retieve selected paths from UI-user-settings, if not successful set to UI-output-folder
            string storedBaseOutputFolder = UISessionInfo.GetRetainedUserSetting(StatisticsPresenter.USER_SETTINGS_ID, StatisticsPresenter.BASE_OUTPUT_FOLDER);

            textBasePath.Text = string.IsNullOrEmpty(storedBaseOutputFolder) ? UISessionInfo.GetOutputFolder() : storedBaseOutputFolder;
            string storedAltOutputFolder = UISessionInfo.GetRetainedUserSetting(StatisticsPresenter.USER_SETTINGS_ID, StatisticsPresenter.REFORM_OUTPUT_FOLDER);

            textAltPath.Text = string.IsNullOrEmpty(storedAltOutputFolder) ? textBasePath.Text : storedAltOutputFolder;

            //template.FilePackageDefinition.GetMinMaxNumberOfAlternatives(out minAlts, out maxAlts, template.TemplateType);
            if (templateInfo.maxFiles == 1)
            {
                listAlt.SelectionMode    = SelectionMode.One;
                lblMultiSelect.Visible   = false;
                lblOrderRetained.Visible = false;
            }
            else
            {
                listAlt.SelectionMode = SelectionMode.MultiExtended;
            }
        }
        readonly List <int> selectedIndices             = new List <int>(); // store the order of selection for Alts

        public SelectFilesForm(Template.TemplateInfo templateInfo)
        {
            InitializeComponent();

            this.templateInfo = templateInfo;

            labCaption.Text = templateInfo.name;

            // try to retieve selected path from UI-user-settings, if not successful set to UI-output-folder
            string storedBaseOutputFolder = UISessionInfo.GetRetainedUserSetting(StatisticsPresenter.USER_SETTINGS_ID, StatisticsPresenter.BASE_OUTPUT_FOLDER);

            textPath.Text = string.IsNullOrEmpty(storedBaseOutputFolder) ? UISessionInfo.GetOutputFolder() : storedBaseOutputFolder;

            if (templateInfo.maxFiles == 1)
            {
                listFiles.SelectionMode  = SelectionMode.One;
                lblMultiSelect.Visible   = false;
                lblOrderRetained.Visible = false;
            }
            else
            {
                listFiles.SelectionMode = SelectionMode.MultiExtended;
            }
        }