### Question:
StartAndSizeComparator implements Comparator<R>, Serializable { @SuppressWarnings("unchecked") public static <C extends Rangeable<C, R>, R extends Range<C, R>> Comparator<R> get() { return (Comparator<R>) (instance == null ? instance = new StartAndSizeComparator<C, R>() : instance); } 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 testSingletonFactoryMethod() { assertSame(comparator, StartAndSizeComparator.<Asn, AsnRange>get()); }