class ContinuableArrayCursor implements Cursor<T> {

    @Override
    public boolean next()
    {
        while ( current == null || cursor >= current.length )
        {
            current = supplier.get();
            if ( current == null )
            {   // End reached
                return false;
            }

            cursor = 0;
        }
        cursor++;
        return true;
    }

    public  ContinuableArrayCursor( Supplier<T[]> supplier );

}