- Fixed off by 1 bug.

CFI parts are even and start at 2, while the list holding the spine items is zero based.

The bug was masked because the assertion is being checked and then used to go to the correct spine item when available.  The assertion is there as a sanity check and should probably throw an error when it does not match rather than attempting to locat the spineitem.