public string GetPlusCodeTerrainDataFull(string plusCode)
        {
            //This function returns 1 line per Cell10 per intersecting element. For an app that needs to know all things in all points.
            PerformanceTracker pt  = new PerformanceTracker("GetPlusCodeTerrainDataFull");
            GeoArea            box = OpenLocationCode.DecodeValid(plusCode);

            if (!DataCheck.IsInBounds(cache.Get <IPreparedGeometry>("serverBounds"), box))
            {
                return("");
            }
            var places = GetPlaces(box); //All the places in this Cell8

            places = places.Where(p => p.GameElementName != TagParser.defaultStyle.Name).ToList();

            StringBuilder sb = new StringBuilder();
            //pluscode|name|type|privacyID(named wrong but its the Guid)

            var data = AreaTypeInfo.SearchAreaFull(ref box, ref places);

            foreach (var d in data)
            {
                foreach (var v in d.Value)
                {
                    sb.Append(d.Key).Append("|").Append(v.Name).Append("|").Append(v.areaType).Append("|").Append(v.PrivacyId).Append("\r\n");
                }
            }
            var results = sb.ToString();

            pt.Stop(plusCode);
            return(results);
        }