Previously, StreamingViewResult would attempt to fetch a new Row on calling 'hasNext()', regardless of whether that Row was subsequently collected by a call to 'next'. This patch fixes StreamingViewResult so that hasNext() can be called multiple times without side effects. The hasNext() method may also be called after the BufferedReader's stream has been closed. In this case, the method will only return 'false' instead of attempting to retrieve further Rows.