docs: private void midDelete(
                            DeleteStack       stack,
                            GBSNode           p,
                            DeleteNode        point)
      {
          /* Assume no lower predecessor/successor */
          point.setDelete(p, p.middleIndex());
          GBSNode q = p.lowerPredecessor(stack);
          if (q != null)                 /* Have a lower predecessor              */
          {
              /* Elevate right-most of lower pred.     */
              point.setDelete(q, q.rightMostIndex());
              point.setTarget(p, p.middleIndex(), DeleteNode.ADD_LEFT);
          }
          else                           /* There is no lower predecessor         */
          {
              /* Check for lower successor             */
              q = p.lowerSuccessor(stack);
              if (q != null)             /* Have a lower successor                */
              {
                  /* Elevate left-most of lower successor  */
                  point.setDelete(q, 0);
                  point.setTarget(p, p.middleIndex(), DeleteNode.ADD_RIGHT);
              }
          }
      }