Historically, we've keyed the accounts in our system using a 32-bit integer, which we subdivide internally into three segments of 4, 2, and 3 digits. I'm converting this to be three alphanumeric fields of arbitrary length, but with the same basic meanings as the three pre-existing segments. This means I need to start from the bottom of the system and work up until everyone agrees on the new key format.
Now it happens that the old keys were sometimes wrapped in another class that also carried additional keys for dimensional instances of the accounts. And after trying a little of this and a little of that, I realized that my life was going to be absolutely miserable unless I simply converted the old 32-bit integer key to a new class all its own which I could then embed inside the existing class.
So that's what I'm doing now, hacking and slashing my way through the code and killing off the hundreds of resulting compilation errors. You change something here, then you run and change something there, then...
Once this is done, I can move on to the next phase of the project where I rearrange the entire account structure, but one step at a time. :)