meetBDVState looks pretty difficult to read and follow.
This is purely NFC but doing several things:
- Combine meet and meetBDVState
- move the function under member of BDVState
- Make BDVState be a mutable object.
- Convert switch to sequence of ifs
- Adds comments.
The patch is published to get a feedback whether this change simplifies the reading of the method.
If it is not, I'm fine to abandon it.