diff --git a/azure-client-runtime/src/main/java/com/microsoft/azure/PagedList.java b/azure-client-runtime/src/main/java/com/microsoft/azure/PagedList.java index 4f966acbcf3d..8db10337d989 100644 --- a/azure-client-runtime/src/main/java/com/microsoft/azure/PagedList.java +++ b/azure-client-runtime/src/main/java/com/microsoft/azure/PagedList.java @@ -47,7 +47,10 @@ public PagedList() { */ public PagedList(Page page) { this(); - items.addAll(page.getItems()); + List retrievedItems = page.getItems(); + if (retrievedItems != null && retrievedItems.size() != 0) { + items.addAll(retrievedItems); + } nextPageLink = page.getNextPageLink(); currentPage = page; } @@ -138,14 +141,17 @@ public boolean hasNext() { public E next() { if (!itemsListItr.hasNext()) { if (!hasNextPage()) { - throw new NoSuchElementException(); + throw new NoSuchElementException(); } else { int size = items.size(); loadNextPage(); itemsListItr = items.listIterator(size); } } - return itemsListItr.next(); + if (itemsListItr.hasNext()) { + return itemsListItr.next(); + } + return null; } @Override