### Question:
SizeComparator implements Comparator<R>, Serializable { @SuppressWarnings({"unchecked"}) @Override public int compare(R left, R right) { return ((Comparable)left.size()).compareTo(right.size()); } private  SizeComparator(); @SuppressWarnings("unchecked") static Comparator<R> get(); @SuppressWarnings("unchecked") static Comparator<R> reverse(); @SuppressWarnings({"unchecked"}) @Override int compare(R left, R right);  }### Answer:
@Test public void testCompare() { AsnRange range = AsnRange.from(_10).to(_100); assertGreaterThan(range, AsnRange.from(_11).to(_99)); assertGreaterThan(range, AsnRange.from(_11).to(_100)); assertEqual(range, AsnRange.from(_11).to(_101)); assertEqual(range, AsnRange.from(_9).to(_99)); assertLessThan(range, AsnRange.from(_9).to(_100)); assertLessThan(range, AsnRange.from(_9).to(_101)); assertGreaterThan(range, AsnRange.from(_10).to(_99)); assertEqual(range, AsnRange.from(_10).to(_100)); assertLessThan(range, AsnRange.from(_10).to(_101)); }