private List <int> GetNearbyFloorLocations(FacilityLayer layer, XY location)
 {
     return(layer.GetNeighbors(location)
            .Where(IsFloor)
            .Select(x => GetSpaceNumber(x.Location, location))
            .OrderBy(x => x).ToList());
 }
 private List <XY> GetWallLocations(FacilityLayer layer)
 {
     return(layer.Where(IsFloor)
            .SelectMany(y => layer.GetNeighbors(y.Location).Where(x => !IsFloor(x)))
            .Select(z => z.Location)
            .Distinct().ToList());
 }