def _copy_cursor(cursor):
    """Returns a new cursor with the same properites that won't affect the original
    @cursor: any cursor that hasn't already been iterated over

    @return: new cursor with same attributes
    """
    new_cursor = cursor.collection.find()
    new_cursor.__dict__.update(cursor.__dict__)
    return new_cursor