@Override
        public void remove() {
            if (previousReturned == null)
                throw new IllegalStateException();
            if ( ! ( currentIterator instanceof SummaryData.SummaryDataIterator))
                currentIterator.remove(); // remove from the map
            if (hit.removedFields == null)
                hit.removedFields = new HashSet<>();
            hit.removedFields.add(nameOf(previousReturned));
            previousReturned = null;
        }
-1 means that the current iterator is the map iterator of the parent hit, not any summary data iterator
container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java