             anchorIndex += length;
             
             placeHolder = iterator.bookmark;
-            iterator.seek(CursorBookmark.FIRST, anchorIndex);
-            anchorBookmark = iterator.bookmark;
+			try
+			{
+				iterator.seek(CursorBookmark.FIRST, anchorIndex);
+				anchorBookmark = iterator.bookmark;
+			}
+			catch (e:ItemPendingError)
+			{
+				e.addResponder(new ItemResponder(setBookmarkPendingResultHandler, setBookmarkPendingFailureHandler,
+								{ property: "anchorBookmark", value: anchorIndex } ));
+			}
             iterator.seek(placeHolder);
         }
             

            anchorIndex -= length;
            
            placeHolder = iterator.bookmark;
            iterator.seek(CursorBookmark.FIRST, anchorIndex);
            anchorBookmark = iterator.bookmark;
            iterator.seek(placeHolder);
        }
            

            caretIndex += length;
            
            placeHolder = iterator.bookmark;
			try
			{
				iterator.seek(CursorBookmark.FIRST, caretIndex);
				caretBookmark = iterator.bookmark;
			}
			catch (e:ItemPendingError)
			{
				e.addResponder(new ItemResponder(setBookmarkPendingResultHandler, setBookmarkPendingFailureHandler,
								{ property: "caretBookmark", value: caretIndex } ));
			}
            iterator.seek(placeHolder);
        }
        
