What happens when two objects are compared using the `equals()` method and they are equal?
If the objects are equal, `equals()` will throw a `NullPointerException`.
I'm a bit disappointed, as `equals()` returns `true` when objects are equal, not an exception.
Can you explain how `equals()` handles null values and what it returns when one or both objects are null?