I think I've figured it out. It was a problem with the delete method - I wasn't accounting
for the deletion of the last object in the list, I was just setting the successor as usual.
I was testing the previous and next methods to try find the problem and I found that when i
deleted an object at the end of the list, went back one and forward one, I was pointing to
null instead of throwing an exception.
Not quite sure why the previous method was the one that had the "error" and still not
certain it's correct, but it seems to be.