NonNullIterator is an Iterator that can be used to wrap an existing iterator but skip all null values in the iteration.