Are these fields all nullable? If not using the standard `Object.equals` method is better.