// makes x's nextSibling and prevSibling point to itself
 private void removeFromSiblings(FibonacciHeapNode x) {
   if (x.nextSibling == x) return;
   x.nextSibling.prevSibling = x.prevSibling;
   x.prevSibling.nextSibling = x.nextSibling;
   x.nextSibling = x;
   x.prevSibling = x;
 }