public Iterator<T> getBookmark() {
    LinkedSetIterator toRet = new LinkedSetIterator();
    toRet.next = this.bookmark.next;
    this.bookmark = toRet;
    return toRet;
  }
@Test(timeout=60000)
  public void testGetBookmarkReturnsBookmarkIterator() {
    LOG.info("Test getBookmark returns proper iterator");
    assertTrue(set.addAll(list));

    Iterator<Integer> bookmark = set.getBookmark();
    assertEquals(bookmark.next(), list.get(0));

    final int numAdvance = list.size()/2;
    for(int i=1; i<numAdvance; i++) {
      bookmark.next();
    }

    Iterator<Integer> bookmark2 = set.getBookmark();
    assertEquals(bookmark2.next(), list.get(numAdvance));
  }