- The reader starts by reading 3 lines. (recordLine, versionLine and fieldLine)
- If the recordLine is non empty, it check for a leading "filedesc://".
- If the versionLine is non empty, parse and validate the version, reserved and origin fields.
- If the fieldLine is non empty, identify which field version is being used. (Defaults to v1.0 is unidentified)
- If the recordLine is non empty, parse and validate all the record fields.
- Process payload if present. (V1.1 feature)
The first thing the version block reader does is initialize various internal fields and then read 3 lines from the input stream.
The 3 lines read are (in order): recordLine, versionLine and fieldLine.