optaplanner-examples/src/main/java/org/optaplanner/examples/travelingtournament/domain/Match.java
public int solutionHashCode() {
        return new HashCodeBuilder()
                .append(id)
                .append(homeTeam)
                .append(awayTeam)
                .append(day)
                .toHashCode();
    }
public int solutionHashCode() {
        return new HashCodeBuilder()
                .append(id)
                .append(homeTeam)
                .append(awayTeam)
                .append(day)
                .toHashCode();
    }
The normal methods {@link #equals(Object)} and {@link #hashCode()} cannot be used
because the rule engine already requires them (for performance in their original state).
@see #solutionEquals(Object)