docs: private void internalFind(
                               SearchComparator  comp,
                               Object            searchKey,
                               SearchNode        point)
      {
          GBSNode p = root();
          GBSNode l = null;
          GBSNode r = null;
  
          while (p != null)
          {
              int xcc = comp.compare(searchKey, p.middleKey());
              if (xcc == 0)
              {
                  point.setFound(p, p.middleIndex());
                  p = null;
              }
              else if (xcc < 0)
              {
                  if (p.leftChild() != null)
                  {
                      l = p;
                      p = p.leftChild();
                  }
                  else
                  {
                      leftSearch(comp, p, r, searchKey, point);
                      p = null;
                  }
              }
              else // (xcc > 0)
              {
                  if (p.rightChild() != null)
                  {
                      r = p;
                      p = p.rightChild();
                  }
                  else
                  {
                      rightSearch(comp, p, l, searchKey, point);
                      p = null;
                  }
              }
          }
      }