NH-3704

https://nhibernate.jira.com/browse/NH-3704
With unit tests
I agree, but try another way, it's not easy.