### Question:
AssetOwnerEvent extends AssetOwnerEventHeader { @Override public boolean equals(Object objectToCompare) { if (this == objectToCompare) { return true; } if (!(objectToCompare instanceof AssetOwnerEvent)) { return false; } if (!super.equals(objectToCompare)) { return false; } AssetOwnerEvent that = (AssetOwnerEvent) objectToCompare; return getEventType() == that.getEventType() && Objects.equals(getOriginalAsset(), that.getOriginalAsset()) && Objects.equals(getAsset(), that.getAsset()); } AssetOwnerEvent();  AssetOwnerEvent(AssetOwnerEvent template); AssetOwnerEventType getEventType(); void setEventType(AssetOwnerEventType eventType); Asset getOriginalAsset(); void setOriginalAsset(Asset originalAsset); Asset getAsset(); void setAsset(Asset asset); @Override String toString(); @Override boolean equals(Object objectToCompare); @Override int hashCode();  }### Answer:
@Test public void testEquals() { assertFalse(getTestObject().equals(null)); assertFalse(getTestObject().equals("DummyString")); assertTrue(getTestObject().equals(getTestObject())); AssetOwnerEvent sameObject = getTestObject(); assertTrue(sameObject.equals(sameObject)); AssetOwnerEvent differentObject = getTestObject(); differentObject.setAsset(new Asset()); assertFalse(getTestObject().equals(differentObject)); AssetOwnerEvent anotherObject = getTestObject(); anotherObject.setEventVersionId(3773L); assertFalse(getTestObject().equals(anotherObject)); }