docs: public int deQueue()
      {
          if ( size == 0 ) {
              return -1;
          }
          
          //remove the first element
          Entry o = head.next;
          head.next = o.next;
          o.next.prev = head;
          
          //backup the data
          int v = o.data;
          size--;
          o = null;        //Let gc do its work
          
          return v;
      }