public static Region Find(Point3D p, Map map)
        {
            if (map == null)
            {
                return(Map.Internal.DefaultRegion);
            }

            Sector    sector = map.GetSector(p);
            ArrayList list   = sector.Regions;

            for (int i = 0; i < list.Count; ++i)
            {
                Region region = (Region)list[i];

                if (region.Contains(p))
                {
                    return(region);
                }
            }

            return(map.DefaultRegion);
        }