private Date date;
public Date getDate() { return new Date(date.getTime()); }
private final long creationTime = System.currentTimeMillis();
so it still has advantages over making the field a Date object.
private Date date;
public Date getDate() { return new Date(date.getTime()); }