@Blue Ink: It was mainly to make the code more maintainable. Sometimes when parsing older documents they would start off with nice recordtypes but then later through some spec comittee it would end up with one of the recordtypes behaving in different ways depending on what recordtypes occurred prior to reaching it.
The Case 9 would then contain another Select case for the different behaviors.
The use of separate case statements kept the different logic more readable since they really were not related. Purely a way to make the code more readable.
EDIT: I should have noted that the reason they didn't create a new recordtype is because they didn't want to break the existing spec. thus a shoehorn was introduced