/** 
  * A node in a doubly-linked list
  * @author         Edo Biagioni
  * @lecture        ICS 211 Feb 1
  * @date           January 27, 2011
  * @bugs           private class: include this code within a larger class
  */

private static class DLinkedNode<E> {
  private E item;
  private DLinkedNode<E> prev;
  private DLinkedNode<E> next;


/** 
  * constructor to build a node with no successor
  * @param the value to be stored by this node
  */
  private DLinkedNode(E value) {
    item = value;
    next = null;
    prev = null;
  }


/** 
  * constructor to build a node with a specified (perhaps null) successor
  * @param the value to be stored by this node
  * @param the prev field for this node
  * @param the next field for this node
  */
  private DLinkedNode(E value, DLinkedNode<E> prev, DLinkedNode<E> next) {
    item = value;
    this.next = next;
    this.prev = prev;
  }
}