code: GBSNode lowerPredecessor(
      NodeStack     stack)
    {
      GBSNode  r     = leftChild();
      GBSNode  lastr = r;
      if (r != null)
        stack.push(NodeStack.PROCESS_CURRENT, this);
      while (r != null)              /* Find right-most child of left child   */
      {
        if (r.rightChild() != null)
          stack.push(NodeStack.DONE_VISITS, r);
        lastr = r;
        r = r.rightChild();
      }
      return lastr;
    }
docs: Find the lower predecessor of this node.
  
  <p>The lower predecessor is the right-most child of the left child.
  This is the prior node in order that is also below this node.</p>
  
  @param stack The stack that is used to remember the traversal path.
  
  @return The lower predecessor node.