I'm testing history navigation with Previous and Next buttons and seems doesn't run well. When I go up in directory structure (through ".." item) doesn't get saved.
Studying "Historical" class I can see you are using an ArrayList with an iterator. This structure works in a way positionis always in the middle of two elements (or two paths) and I think this can be wrong. I think we need a simpler structure which its position is over an element (or path) directly.
What do you think about this?