This is shocking news to me! I thought java code line execution order is "guaranteed"!
'this', in my constructor assigns the field of the current instance a reference to the instance.
My constructor just receives an object and assigns fields, extracting from the input object:
Again, the reason I am doing this (no pun intended) is because classes which MySession extends (MyChecks, which extends MyDsl, etc...) need to
all work on the same object, without all 40 methods defined in the same class.
I think in my particular case, so far, I am safe:
1. Any incomplete data will result in a failed connection, containing the explosion pretty soon
2. None of this is actually running in production. It's a test suite
3. I wrote a lot of defensive code - not because I understand Java's memory model and automatic multi-threaded optimization, but because I don't trust myself to have passed the data correctly in the first place
Any field I created and later rely upon will be tested and RunTimeComputerSaysNO will be raised, cutting off further work