cdm/src/main/java/ucar/nc2/ft/point/PointIteratorAdapter.java
@Override
    public PointFeature next() throws NoSuchElementException {
        if (!hasNext()) {
            throw new NoSuchElementException("The iteration has no more elements.");
        }

        PointFeature pointFeat = pointIter.next();
        assert pointFeat != null : "hasNext() should have been false. WTF?";

        calcBounds(pointFeat);
        return pointFeat;
    }
@Override
    public PointFeature next() throws NoSuchElementException {
        if (!hasNext()) {
            throw new NoSuchElementException("The iteration has no more elements.");
        }

        PointFeature pointFeat = pointIter.next();
        assert pointFeat != null : "hasNext() should have been false. WTF?";

        calcBounds(pointFeat);
        return pointFeat;
    }
@ Override public PointFeature next ( ) throws NoSuchElementException { if ( ! hasNext ( ) ) { throw new NoSuchElementException ( "The iteration has no more elements." ) ; } PointFeature pointFeat = pointIter . next ( ) ; assert pointFeat != null : "hasNext() should have been false. WTF?" ; calcBounds ( pointFeat ) ; return pointFeat ; }
but we can define a stronger contract.
but we can define a stronger contract .