import org.checkerframework.checker.nullness.qual.*;
import org.checkerframework.dataflow.qual.Pure;

public class AssertIfFalseTest2 {

    public static void usePriorityQueue(PriorityQueue1<@NonNull Object> active) {
        while (!(active.isEmpty())) {
            @NonNull Object queueMinPathNode = active.peek();
        }
    }

    ///////////////////////////////////////////////////////////////////////////
    /// Classes copied from the annotated JDK
    ///

    public class PriorityQueue1<E extends @NonNull Object> {
        @EnsuresNonNullIf(
                result = false,
                expression = {"peek()"})
        @Pure
        public boolean isEmpty() {
            return true;
        }

        @Pure
        public @Nullable E peek() {
            return null;
        }
    }
}
