Query q = pm.newQuery(Flight.class);
q.setRange(0, 1);
List<Flight> flights = (List<Flight>) q.execute();
assertEquals(1, flights.size());
assertEquals(e1.getKey(), KeyFactory.stringToKey(flights.get(0).getId()));
Cursor c = JDOCursorHelper.getCursor(flights);
assertNotNull(c);
extensionMap.put(JDOCursorHelper.CURSOR_EXTENSION, c);
q.setExtensions(extensionMap);
flights = (List<Flight>) q.execute();
assertEquals(1, flights.size());
assertEquals(e2.getKey(), KeyFactory.stringToKey(flights.get(0).getId()));
assertNotNull(JDOCursorHelper.getCursor(flights));
extensionMap.put(JDOCursorHelper.CURSOR_EXTENSION, c.toWebSafeString());
q.setExtensions(extensionMap);
flights = (List<Flight>) q.execute();
assertEquals(1, flights.size());
assertEquals(e2.getKey(), KeyFactory.stringToKey(flights.get(0).getId()));
c = JDOCursorHelper.getCursor(flights);
assertNotNull(c);
extensionMap.put(JDOCursorHelper.CURSOR_EXTENSION, c);
q.setExtensions(extensionMap);
flights = (List<Flight>) q.execute();
assertEquals(1, flights.size());
assertEquals(e3.getKey(), KeyFactory.stringToKey(flights.get(0).getId()));
assertNotNull(JDOCursorHelper.getCursor(flights));
extensionMap.put(JDOCursorHelper.CURSOR_EXTENSION, c.toWebSafeString());
q.setExtensions(extensionMap);
flights = (List<Flight>) q.execute();
assertEquals(1, flights.size());
assertEquals(e3.getKey(), KeyFactory.stringToKey(flights.get(0).getId()));
assertNotNull(JDOCursorHelper.getCursor(flights));