public override SpecificLayout GetBestLayout(LayoutQuery query) { LayoutQuery parentQuery = query.WithScore(query.MinScore.Minus(this.BonusScore)); SpecificLayout parentResult = base.GetBestLayout(parentQuery); if (parentResult == null) { return(null); } SpecificLayout result = this.makeSpecificLayout(this.View, parentResult.Size, this.BonusScore, parentResult, new Thickness()); this.prepareLayoutForQuery(result, query); return(result); }