internal SaturatedZone(PFSSection Section)
        {
            _pfsHandle = Section;

              for (int i = 1; i <= Section.GetSectionsNo(); i++)
              {
            PFSSection sub = Section.GetSection(i);
            switch (sub.Name)
            {
            case "GeoUnitsSZProperties":
              _geoUnitsSZProperties = new GeoUnitsSZProperties(sub);
              break;
            case "GeoLayersSZ":
              _geoLayersSZ = new GeoLayersSZ(sub);
              break;
            case "GeoLensesSZ":
              _geoLensesSZ = new GeoLensesSZ(sub);
              break;
            case "SatWQLayers":
              _satWQLayers = new SatWQLayers(sub);
              break;
            case "CompLayersSZ":
              _compLayersSZ = new CompLayersSZ(sub);
              break;
            case "CompLayersGeoSZ":
              _compLayersGeoSZ = new CompLayersGeoSZ(sub);
              break;
            case "Drainage":
              _drainage = new Drainage(sub);
              break;
            case "Drainage_Modflow":
              _drainage_Modflow = new Background(sub);
              break;
            case "Well":
              _well = new RiverMF(sub);
              break;
            case "HeadElevationUsedForAirFlow":
              _headElevationUsedForAirFlow = new Topography(sub);
              break;
              default:
            _unMappedSections.Add(sub.Name);
              break;
            }
              }
        }
        internal SaturatedZoneSubCatchment(PFSSection Section)
        {
            _pfsHandle = Section;

              for (int i = 1; i <= Section.GetSectionsNo(); i++)
              {
            PFSSection sub = Section.GetSection(i);
            switch (sub.Name)
            {
            case "SZShallowGWRoutingZones":
              _sZShallowGWRoutingZones = new Subcatchments(sub);
              break;
            case "SZDeepGWRoutingZones":
              _sZDeepGWRoutingZones = new Subcatchments(sub);
              break;
            case "Well":
              _well = new RiverMF(sub);
              break;
              default:
            _unMappedSections.Add(sub.Name);
              break;
            }
              }
        }
        internal MIKESHE_FLOWMODEL(PFSSection Section)
        {
            _pfsHandle = Section;

              for (int i = 1; i <= Section.GetSectionsNo(); i++)
              {
            PFSSection sub = Section.GetSection(i);
            switch (sub.Name)
            {
            case "FlowModelDocVersion":
              _flowModelDocVersion = new FlowModelDocVersion(sub);
              break;
            case "ViewSettings":
              _viewSettings = new ViewSettings(sub);
              break;
            case "Overlays":
              _overlays = new Overlays(sub);
              break;
            case "SimSpec":
              _simSpec = new SimSpec(sub);
              break;
            case "ModelCompWQ":
              _modelCompWQ = new ModelCompWQ(sub);
              break;
            case "Species":
              _species = new Species(sub);
              break;
            case "Processes":
              _processes = new Processes(sub);
              break;
            case "Catchment":
              _catchment = new Catchment(sub);
              break;
            case "Subcatchments":
              _subcatchments = new Subcatchments(sub);
              break;
            case "Topography":
              _topography = new Topography(sub);
              break;
            case "Climate":
              _climate = new Climate(sub);
              break;
            case "LandUse":
              _landUse = new LandUse(sub);
              break;
            case "River":
              _river = new River(sub);
              break;
            case "RiverMF":
              _riverMF = new RiverMF(sub);
              break;
            case "Overland":
              _overland = new Overland(sub);
              break;
            case "OverlandSubcatchment":
              _overlandSubcatchment = new Subcatchments(sub);
              break;
            case "Unsatzone":
              _unsatzone = new Unsatzone(sub);
              break;
            case "SaturatedZone":
              _saturatedZone = new SaturatedZone(sub);
              break;
            case "SaturatedZoneSubCatchment":
              _saturatedZoneSubCatchment = new SaturatedZoneSubCatchment(sub);
              break;
            case "GroundwaterTable":
              _groundwaterTable = new Bathymetry(sub);
              break;
            case "Sources":
              _sources = new Sources1(sub);
              break;
            case "StoringOfResults":
              _storingOfResults = new StoringOfResults(sub);
              break;
            case "OutputModflow":
              _outputModflow = new OutputModflow(sub);
              break;
            case "ExtraParams":
              _extraParams = new ExtraParams(sub);
              break;
            case "ExecuteEngineFlagsPfs":
              _executeEngineFlagsPfs = new ExecuteEngineFlagsPfs(sub);
              break;
            case "Result":
              _result = new Result(sub);
              break;
            case "Overview":
              _overview = new STRESSPERIOD_PROPPAGE(sub);
              break;
            case "GeoScene3D":
              _geoScene3D = new GeoScene3D(sub);
              break;
              default:
            _unMappedSections.Add(sub.Name);
              break;
            }
              }
        }