package java.util; import checkers.javari.quals.*; public interface NavigableMap<K, V> extends SortedMap<K, V> { public abstract @PolyRead Map.Entry<K, V> lowerEntry(K a1) @PolyRead; public abstract K lowerKey(K a1) @ReadOnly; public abstract @PolyRead Map.Entry<K, V> floorEntry(K a1) @PolyRead; public abstract K floorKey(K a1) @ReadOnly; public abstract @PolyRead Map.Entry<K, V> ceilingEntry(K a1) @PolyRead; public abstract K ceilingKey(K a1) @ReadOnly; public abstract @PolyRead Map.Entry<K, V> higherEntry(K a1) @PolyRead; public abstract K higherKey(K a1) @ReadOnly; public abstract @PolyRead Map.Entry<K, V> firstEntry() @PolyRead; public abstract @PolyRead Map.Entry<K, V> lastEntry() @PolyRead; public abstract Map.Entry<K, V> pollFirstEntry(); public abstract Map.Entry<K, V> pollLastEntry(); public abstract @PolyRead NavigableMap<K, V> descendingMap() @PolyRead; public abstract @PolyRead NavigableSet<K> navigableKeySet() @PolyRead; public abstract @PolyRead NavigableSet<K> descendingKeySet() @PolyRead; public abstract @PolyRead NavigableMap<K, V> subMap(K a1, boolean a2, K a3, boolean a4) @PolyRead; public abstract @PolyRead NavigableMap<K, V> headMap(K a1, boolean a2) @PolyRead; public abstract @PolyRead NavigableMap<K, V> tailMap(K a1, boolean a2) @PolyRead; public abstract @PolyRead SortedMap<K, V> subMap(K a1, K a2) @PolyRead; public abstract @PolyRead SortedMap<K, V> headMap(K a1) @PolyRead; public abstract @PolyRead SortedMap<K, V> tailMap(K a1) @PolyRead; }