* each time beginVersion is called, the versionNumber is incremented and a new changeList is created. But that new changeList is NOT added to the stack of changeLists.
yes thats right that is done in the endVersion() call. Adding it before hand shouldn't make any sense. * when getVersion(int versionNumber) is called with an older versionNumber
after a call to beginVersion() and before a call to endVersion(), the undo() method is called, which pops the last changeList from the stack and decrements the versionNumber. Since the 'current' changeList is not yet on the stack, it pops one more changeList from the stack than it should.
This is really really wrong. This should never be possible How does it happens that that call to getVersion() is done twice at the same time?? A page shouldn't be accesses more then once (at the same time) Something to be corrected ? Mayby the newly created changeList should be
added to the stack immediately ? Or is it more correct to not increment the versionNumber until the call to endVersion() ?
No it shouldn't because when happens then if the second call did happen for an old version? And another request is happening at the same time for another? Thats really bad, shouldn't happen at anytime. So if you have a test case for that then i would really like to see it. johan
