class DiagnosisElement implements Comparable<DiagnosisElement> {

    @Override
    public int compareTo(DiagnosisElement other) {
        int compare = Integer.compare(this.getDiagnosedConstraintId(), other.getDiagnosedConstraintId());

        if (compare == 0) {
            compare = Arrays.compare(this.getInvolvedParameters(), other.getInvolvedParameters());

            if(compare == 0) {
                compare = Arrays.compare(this.getConflictingValues(), other.getConflictingValues());
            }
        }

        return compare;
    }

    public  DiagnosisElement(int diagnosedConstraintId,
                            int[] involvedParameters,
                            int[] conflictingValues);

}