code: private void rightAdd(
                           GBSNode           p,
                           GBSNode           l,
                           Object            new1,
                           NodeInsertPoint   ip,
                           InsertNodes       point)
      {
          if (l == null)                 /* There is no upper successor           */
              rightAddNoSuccessor(p, new1, ip, point);
          else                           /* There is an upper successor           */
              rightAddWithSuccessor(p, l, new1, ip, point);
      }
docs: Add to current or successor.
  
  <ol>
  <li>There is no right child
  
  <li>There may or may not be a left child.
  
  <li>INSERT_KEY  >  MEDIAN of current node.
  
  <li>INSERT_KEY  <  MEDIAN of successor (if there is one)
  </ol>
  <p>In the example below, if the current node is GHI, then the insert
  key is greater than H and less than K. If the current node is
  MNO, then the insert key is greater than N and less than Q. If
  the current node is STU, the insert key is greater than T and
  there is no successor.</p>
  
  <pre>
  *------------------J.K.L------------------*
  |                                         |
  |                                         |
  |                                         |
  *-------D.E.F-------*                     *-------P.Q.R-------*
  |                   |                     |                   |
  |                   |                     |                   |
  |                   |                     |                   |
  A.B.C               G.H.I                 M.N.O               S.T.U
  </pre>
  
  <p>We tried to move right and fell off the end.  If the key value is
  less than the low key of the successor or if there is no
  successor, the insert point is in the right half of the current
  node.  Otherwise, the insert point is in the left half of the
  successor node.</p>
  
  @param p Current node from which we tried to move left
  @param l Last node from which we actually moved left (logical successor)
  @param new1 Key being inserted
  @param ip Scratch NodeInsertPoint to avoid allocating a new one
  @param point Returned insert points