package java.util;
import org.checkerframework.dataflow.qual.Pure;
import org.checkerframework.dataflow.qual.SideEffectFree;
import org.checkerframework.checker.nullness.qual.Nullable;
// Subclasses of this interface/class may opt to prohibit null elements
public abstract class AbstractList<E extends @Nullable Object> extends AbstractCollection<E> implements List<E> {
protected AbstractList() {}
public boolean add(E a1) { throw new RuntimeException("skeleton method"); }
@Pure public abstract E get(int a1);
public E set(int a1, E a2) { throw new RuntimeException("skeleton method"); }
public void add(int a1, E a2) { throw new RuntimeException("skeleton method"); }
public E remove(int a1) { throw new RuntimeException("skeleton method"); }
@Pure public int indexOf(@Nullable Object a1) { throw new RuntimeException("skeleton method"); }
@Pure public int lastIndexOf(@Nullable Object a1) { throw new RuntimeException("skeleton method"); }
public void clear() { throw new RuntimeException("skeleton method"); }
public boolean addAll(int a1, Collection<? extends E> a2) { throw new RuntimeException("skeleton method"); }
public Iterator<E> iterator() { throw new RuntimeException("skeleton method"); }
public ListIterator<E> listIterator() { throw new RuntimeException("skeleton method"); }
public ListIterator<E> listIterator(int a1) { throw new RuntimeException("skeleton method"); }
@SideEffectFree public List<E> subList(int a1, int a2) { throw new RuntimeException("skeleton method"); }
@Pure public boolean equals(@Nullable Object a1) { throw new RuntimeException("skeleton method"); }
@Pure public int hashCode() { throw new RuntimeException("skeleton method"); }
}