Changes:

1) Changed generation of not operator so that it correctly wraps the negated expression if needed, e.g. !(true && false)
2) Added more complex naming scheme for records and new expressions to allow instantiation of records across Java classes, e.g. new A.Rec()
3) Removed cloning of records being compared using '=' and '<>' as the generated Java records (classes, really) are not modified
4) Added initial work on record comparison