public override DocComparator GetComparator(IndexReader reader, int docbase) { if (!reader.GetType().Equals(typeof(BoboIndexReader))) throw new ArgumentException("reader must be instance of BoboIndexReader"); BoboIndexReader boboReader = (BoboIndexReader)reader; MultiValueFacetDataCache dataCache = (MultiValueFacetDataCache)cacheBuilder.Build(boboReader); return new MultiFacetDocComparator(dataCache); }