### Question:
StartAndSizeComparator implements Comparator<R>, Serializable { @Override public int compare(R left, R right) { int result = left.start().compareTo(right.start()); if (result == 0) { result = left.end().compareTo(right.end()); } return result; } private  StartAndSizeComparator(); @SuppressWarnings("unchecked") static Comparator<R> get(); @SuppressWarnings("unchecked") static Comparator<R> reverse(); @Override int compare(R left, R right);  }### Answer:
@Test public void testCompare() { AsnRange range = AsnRange.from(_10).to(_100); assertLessThan(range, AsnRange.from(_11).to(_99)); assertLessThan(range, AsnRange.from(_11).to(_100)); assertLessThan(range, AsnRange.from(_11).to(_101)); assertGreaterThan(range, AsnRange.from(_9).to(_99)); assertGreaterThan(range, AsnRange.from(_9).to(_100)); assertGreaterThan(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)); }