/// <summary> Returns a Weight that applies the filter to the enclosed query's Weight.
/// This is accomplished by overriding the Scorer returned by the Weight.
/// </summary>
protected internal override Weight CreateWeight(Searcher searcher)
{
Weight weight = query.CreateWeight(searcher);
Similarity similarity = query.GetSimilarity(searcher);
return(new AnonymousClassWeight(weight, similarity, this));
}