private void ScoreAll(int root, int size, int doc, float[] sum, float[] max)
{
if (root < size && subScorers[root].DocID() == doc)
{
float sub = subScorers[root].Score();
sum[0] += sub;
max[0] = System.Math.Max(max[0], sub);
ScoreAll((root << 1) + 1, size, doc, sum, max);
ScoreAll((root << 1) + 2, size, doc, sum, max);
}
}