### Question:
FirmwareUpdateRequestedEvent implements CommunicationWithChargingStationRequestedEvent { public Date getRetrieveDate() { return new Date(retrieveDate.getTime()); } FirmwareUpdateRequestedEvent(ChargingStationId chargingStationId, String protocol, String updateLocation,
                                        Date retrieveDate, Map<String, String> attributes, IdentityContext identityContext); ChargingStationId getChargingStationId(); String getProtocol(); String getUpdateLocation(); Date getRetrieveDate(); Map<String, String> getAttributes(); IdentityContext getIdentityContext(); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test public void testImmutableDate() { Date now = new Date(); FirmwareUpdateRequestedEvent event = new FirmwareUpdateRequestedEvent(CHARGING_STATION_ID, PROTOCOL, UPDATE_LOCATION, now, BOOT_NOTIFICATION_ATTRIBUTES, ROOT_IDENTITY_CONTEXT); event.getRetrieveDate().setTime(TWO_MINUTES_AGO.getTime()); assertEquals(now, event.getRetrieveDate()); }