/*
         * This function will decide if you need to build a new model
         * And how to build the model
         * And where to put the model
         */
        public TowerModel TowerModelBuilder(TowerModel TowerModelOrigin, FormParas EnvFormParams,
                                            LISFileReader EnvLisFileReader, TowerListClass TowerModelList)
        {
            // First: Transfer the basic datas
            TowerModel NewTowerModel = new TowerModel();

            NewTowerModel.TowerModelBasicDataCopier(TowerModelOrigin);

            Models.ModelPropertiesResolver mResolver = new ModelPropertiesResolver();

            // Second: Build the color table
            mResolver.ModelColorTableResolver(EnvLisFileReader.param.ModelTypeId, NewTowerModel, EnvLisFileReader);
            // Third: Revise the tower elements

            /*
             * if (EnvFormParams.ifReviseTowerModelParameters == 1)
             *  mResolver.ModelParameterResolver(EnvLisFileReader.param.ModelTypeId, NewTowerModel, EnvLisFileReader);
             */
            // Last: Put the model in the list
            //string TowerModelName = TowerModelNameGetter(EnvLisFileReader);
            //TowerModelList.InsertTowerModel(NewTowerModel, TowerModelName);

            return(NewTowerModel);
        }