package com.apollographql.apollo.internal.util;
import java.util.ArrayList;
import java.util.List;
/**
* Simple stack data structure which accepts null elements. Backed by list.
* @param <E>
*/
public class SimpleStack<E> {
private List<E> backing;
public SimpleStack() {
backing = new ArrayList<>();
}
public SimpleStack(int initialSize) {
backing = new ArrayList<>(initialSize);
}
public void push(E element) {
backing.add(element);
}
public E pop() {
if (isEmpty()) {
throw new IllegalStateException("Stack is empty.");
}
return backing.remove(backing.size() - 1);
}
public boolean isEmpty() {
return backing.isEmpty();
}
}