Vb support for order preserving

This is capable of preserving the order of the parameters when adding a Null check.
Currently there is a bug somewhere in it that doesn't always put them on their on line.
Also deletes comments that are attached to the end of the guards.

It's not pretty but it sort of works.