Fixed parallel probing bug.
When probing in parallel, if the first rank does not intersect the data it is being sampled with, the filter did not produce any output arrays even if the other ranks had valid data. This was because the first rank was used in iterating over output arrays, which is none in this case. Changed the code such that the first non empty dataset is now used to select which arrays to iterate over.