docs: public int size()
      {
          Node<E> head = this.head;
          final Node<E> tail = this.tail;
          int size = 0;
  
          while (tail != head && size < Integer.MAX_VALUE)
          {
              final Node<E> next = head.next;
              if (null == next)
              {
                  break;
              }
  
              head = next;
              ++size;
          }
  
          return size;
      }