protected override Zone MakeNewZone()
        {
            Zone_Stockpile zone_Stockpile = new Zone_Stockpile(StorageSettingsPreset.DefaultStockpile);

            if (this.emptyZonePreference != null && this.emptyZonePreference.Value)
            {
                if (Find.ZoneManager.AllZones.Count((Zone zone) => zone is Zone_Stockpile) > 1)
                {
                    ThingFilter filter = zone_Stockpile.GetStoreSettings().filter;
                    this.thingDefs.Clear();
                    foreach (ThingDef current in filter.AllowedThingDefs)
                    {
                        this.thingDefs.Add(current);
                    }
                    foreach (ThingDef current2 in this.thingDefs)
                    {
                        filter.SetAllow(current2, false);
                    }
                    foreach (SpecialThingFilterDef current3 in DefDatabase <SpecialThingFilterDef> .AllDefs)
                    {
                        if (filter.Allowed(current3))
                        {
                            filter.SetAllow(current3, false);
                        }
                    }
                }
            }
            return(zone_Stockpile);
        }