package java.util;
import org.checkerframework.checker.lock.qual.*;
import java.util.Collection;
import java.util.stream.Stream;
// Subclasses of this interface/class may opt to prohibit null elements
public abstract class AbstractCollection<E extends Object> implements Collection<E> {
protected AbstractCollection() {}
@Override
public abstract Iterator<E> iterator();
@Override
public abstract int size(@GuardSatisfied AbstractCollection<E> this);
@Override
public boolean isEmpty(@GuardSatisfied AbstractCollection<E> this) { throw new RuntimeException("skeleton method"); }
@Override
public boolean contains(@GuardSatisfied AbstractCollection<E> this,@GuardSatisfied Object a1) { throw new RuntimeException("skeleton method"); }
@Override
public Object [] toArray() { throw new RuntimeException("skeleton method"); }
@Override
public <T> T [] toArray(T [] a1) { throw new RuntimeException("skeleton method"); }
@Override
public boolean add(E a1) { throw new RuntimeException("skeleton method"); }
@Override
public boolean remove(Object a1) { throw new RuntimeException("skeleton method"); }
@Override
public boolean containsAll(@GuardSatisfied AbstractCollection<E> this,@GuardSatisfied Collection<?> a1) { throw new RuntimeException("skeleton method"); }
@Override
public boolean addAll(Collection<? extends E> a1) { throw new RuntimeException("skeleton method"); }
@Override
public boolean removeAll(Collection<?> a1) { throw new RuntimeException("skeleton method"); }
@Override
public boolean retainAll(Collection<?> a1) { throw new RuntimeException("skeleton method"); }
@Override
public void clear() { throw new RuntimeException("skeleton method"); }
@Override
public String toString(@GuardSatisfied AbstractCollection<E> this) { throw new RuntimeException("skeleton method"); }
}