public MyState getState() { MyState state = new MyState(); for (int i = 0; i < myBookmarks.length; i++) { SNodePointer pointer = myBookmarks[i]; if (pointer != null) { SModelReference sModelReference = pointer.getModelReference(); SNodeId id = pointer.getNodeId(); state.myBookmarkInfos[i] = new BookmarkInfo(sModelReference.toString(), id.toString(), i); } else { state.myBookmarkInfos[i] = new BookmarkInfo(); } } state.myUnnumberedBookmarkInfos = new BookmarkInfo[myUnnumberedBookmarks.size()]; for (int i = 0; i < myUnnumberedBookmarks.size(); i++) { SNodePointer pointer = myUnnumberedBookmarks.get(i); if (pointer != null) { SModelReference sModelReference = pointer.getModelReference(); SNodeId id = pointer.getNodeId(); state.myUnnumberedBookmarkInfos[i] = new BookmarkInfo(sModelReference.toString(), id.toString(), -1); } else { state.myUnnumberedBookmarkInfos[i] = new BookmarkInfo(); } } return state; }