Hi, The CursorableLinkedList class returns "cursors" which act like ListIterators except that they continue to work when the list is modified via other means (unlike ListIterator which throws ConcurrentModificationException).
Unfortunately, there is one critical difference between "cursors" and ListIterators; the cursor objects returned *must* be explicitly closed in order to avoid memory leaks, because the CursorableLinkedList class keeps a list of the existing cursors. The attached patch uses weak references to the cursor objects in order to avoid this problem; with this patch, cursor objects can now transparently be passed to methods expecting ListIterators. I noticed that the unit tests for this class also failed to test one particular concept: that cursors continune to work under concurrent modification. Given that this is the core functionality of this class, I have added tests for this. I hope this patch is acceptable. Regards, Simon
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
