// Test case for Issue 312: // https://github.com/typetools/checker-framework/issues/312 import java.util.List; // A mock-up of the Guava API used in the test case; // see below for the code that uses Guava. @SuppressWarnings("nullness") class Ordering312<T> { public static <C extends Comparable> Ordering312<C> natural() { return null; } public <S extends T> Ordering312<S> reverse() { return null; } public <E extends T> List<E> sortedCopy(Iterable<E> elements) { return null; } } class Issue312 { void test(List<String> list) { Ordering312.natural().reverse().sortedCopy(list); } } /* Original test using Guava: import com.google.common.collect.Lists; import com.google.common.collect.Ordering312; import java.util.List; class Issue312 { void test() { List<String> list = Lists.newArrayList(); Ordering.natural().reverse().sortedCopy(list); } } */