public E peekFirst() {
        switch (size()) {
            case 0:
                return null;
            case 1:
                return front.size() > 0 ? front.get(0) : back.get(0);
            default:
                return front.get(0);
        }
    }