docs: private void leftDeleteWithPredecessor(
                                            GBSNode           p,
                                            GBSNode           r,
                                            Object            deleteKey,
                                            DeleteNode        point)
      {
          java.util.Comparator comp = p.deleteComparator();
          int xcc = comp.compare(deleteKey, r.rightMostKey());
          if (xcc == 0)                  /* Target key IS predecessor high key    */
          {
              /* Migrate up low key of current (delete key)
                 into high key of predecessor (target key)                        */
              point.setDelete(p, 0);
              point.setTarget(r, r.rightMostIndex(), DeleteNode.OVERLAY_RIGHT);
          }
          else if (xcc > 0)              /* Target key > predecessor high key     */
          {
              /* Target is in left part of current     */
              int ix = p.findDeleteInLeft(deleteKey);
              if ( !(ix < 0) )
                  point.setDelete(p, ix);
          }
          else                           /* Target key < predecessor high         */
          {
              /* It is in right half of predecessor    */
              int ix = r.findDeleteInRight(deleteKey);
              if ( !(ix < 0) )
              {
                  point.setTarget(r, ix, DeleteNode.ADD_RIGHT);
                  point.setDelete(p, 0);
              }
          }
      }