'Advances a Cursor by the given offset.
Args:
offset: The amount to advance the current query.
query: A Query identical to the one this cursor was created from.
conn: The datastore_rpc.Connection to use.
Returns:
A new cursor that is advanced by offset using the given query.'

def advance(self, offset, query, conn):

    datastore_types.ValidateInteger(offset, 'offset', datastore_errors.BadArgumentError)
    if (not isinstance(query, Query)):
        raise datastore_errors.BadArgumentError(('query    argument    should    be    datastore_query.Query    (%r)' % (query,)))
    query_options = QueryOptions(start_cursor=self, offset=offset, limit=0, produce_cursors=True)
    return query.run(conn, query_options).next_batch(Batcher.AT_LEAST_OFFSET).cursor(0)
