docs: public V poll() {
          if (oMinEntry == null) return null;
  
          final Entry minEntry = oMinEntry;
  
          // move minEntry's children to the root list
          Entry oFirstChild = minEntry.oFirstChild;
          if (oFirstChild != null) {
              for (Entry childOfMin : getCycle(oFirstChild)) {
                  childOfMin.oParent = null;
              }
              mergeLists(oMinEntry, oFirstChild);
          }
  
          // remove minEntry from root list
          if (size == 1) {
              oMinEntry = null;
          }
          else {
              final Entry next = minEntry.next;
              unlinkFromNeighbors(minEntry);
              oMinEntry = consolidate(next);
          }
          size--;
  
          return minEntry.value;
      }