private void Enroll(ToParentBlockJoinQuery query, ToParentBlockJoinQuery.BlockJoinScorer scorer)
{
scorer.TrackPendingChildHits();
int? slot;
if (joinQueryID.TryGetValue(query, out slot))
{
joinScorers[(int) slot] = scorer;
}
else
{
joinQueryID[query] = joinScorers.Length;
//System.out.println("found JQ: " + query + " slot=" + joinScorers.length);
ToParentBlockJoinQuery.BlockJoinScorer[] newArray = new ToParentBlockJoinQuery.BlockJoinScorer[1 + joinScorers.Length];
Array.Copy(joinScorers, 0, newArray, 0, joinScorers.Length);
joinScorers = newArray;
joinScorers[joinScorers.Length - 1] = scorer;
}
}