each operator that accesses the solution set index is assigned a different number, starting from 0
use the join number to return a different HashBucketIterator for each join with the solution set
adjust to use the appropriate HashBucketIterator when updating the solution set