public IEnumerable <Prr> GetPrrs(Wrr wrr)
        {
            wrr.StdfFile.GetRecordsEnumerable().Any();
            //find the part extents within the wafer extent
            var waferExtent = _WafersMap.GetExtents(wrr);

            return(from pe in _PartsMap.GetExtentsListWithin(waferExtent)
                   from prr in GetRecordsInExtentsReverse(pe)
                   .TakeWhile(r => r.GetType() == typeof(Prr))
                   .Select(r => (Prr)r)
                   select prr);
        }
        public Prr GetPrr(IHeadSiteIndexable record)
        {
            record.StdfFile.GetRecordsEnumerable().Any();
            var partExtents = _PartsMap.GetExtents((StdfRecord)record);

            if (partExtents == null)
            {
                return(null);
            }
            return((from p in GetRecordsInExtentsReverse(partExtents)
                    .Select(p => p as Prr)
                    .TakeWhile(p => p != null)
                    where p.HeadNumber == record.HeadNumber &&
                    p.SiteNumber == record.SiteNumber
                    select p).FirstOrDefault());
        }