package java.util; import checkers.igj.quals.*; @I public abstract class AbstractCollection<E> implements Collection<E> { protected AbstractCollection() @ReadOnly {} public abstract @I Iterator<E> iterator() @ReadOnly; public abstract int size() @ReadOnly; public boolean isEmpty() @ReadOnly { throw new RuntimeException("skeleton method"); } public boolean contains(Object a1) @ReadOnly { throw new RuntimeException("skeleton method"); } public Object[] toArray() @ReadOnly { throw new RuntimeException("skeleton method"); } public <T> T @Mutable [] toArray(T @Mutable [] a1) @ReadOnly { throw new RuntimeException("skeleton method"); } public boolean add(E a1) @Mutable { throw new RuntimeException("skeleton method"); } public boolean remove(Object a1) @Mutable { throw new RuntimeException("skeleton method"); } public boolean containsAll(@ReadOnly Collection<?> a1) @ReadOnly { throw new RuntimeException("skeleton method"); } public boolean addAll(@ReadOnly Collection<? extends E> a1) @Mutable { throw new RuntimeException("skeleton method"); } public boolean removeAll(@ReadOnly Collection<?> a1) @Mutable { throw new RuntimeException("skeleton method"); } public boolean retainAll(@ReadOnly Collection<?> a1) @Mutable { throw new RuntimeException("skeleton method"); } public void clear() @Mutable { throw new RuntimeException("skeleton method"); } public String toString() @ReadOnly { throw new RuntimeException("skeleton method"); } }