@Override
	public boolean equals(Object o) {
		if (this == o) {
			return true;
		}
		if (o == null || getClass() != o.getClass()) {
			return false;
		}
		final EvaluatedIndividual<?> that = (EvaluatedIndividual<?>) o;

		return this.fitness == that.fitness && this.effort == that.effort && this.generation == that.generation
			&& this.individual.equals(that.individual);
	}