@Override
	public int compareTo(TexasHoldEmHand o) {
		if (o.type == null) {
			return -1;
		}
		if (type == null) {
			return +1;
		}
		if (type == o.type) {
			if (type == TexasHoldEmType.STRAIGHT_FLUSH || type == TexasHoldEmType.STRAIGHT) {
				if ("A".equals(kickers.get(0).getRank())) {
					return 1;
				} else if ("A".equals(o.kickers.get(0).getRank())) {
					return -1;
				}
			}
			for (int i = 0; i < kickers.size(); i++) {
				int comparison = kickers.get(i).compareTo(o.kickers.get(i));
				if (comparison != 0) {
					return comparison;
				}
			}
		}
		return type.compareTo(o.type);
	}