Small improvement mentioned in this PR. There are some equals method implementations that could check the other object for null prior to verifying its content.