@Override public int compare(final Card first, final Card second) { final String firstVal = first.getSuit().getShortName(); final String secondVal = second.getSuit().getShortName(); final int comparison = firstVal.compareTo(secondVal); if (comparison == 0) { final Integer firstIntVal = Integer.valueOf(first.getRank().getOrderValue()); final Integer secondIntVal = Integer.valueOf(second.getRank().getOrderValue()); return firstIntVal.compareTo(secondIntVal); } return comparison; }