You check bounds in VariantFieldIterator::operator[] but not VariantFieldValueIterator::operator[]