@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GiveEvent giveEvent = (GiveEvent) o; if (!giver.equals(giveEvent.giver)) { return false; } if (!receiver.equals(giveEvent.receiver)) { return false; } if (!thing.equals(giveEvent.thing)) { return false; } return true; }