code: public void markNodesInside(Vector<BoxNode> list, boolean full)
      {
          for (Iterator<BoxNode> it = list.iterator(); it.hasNext();)
          {
              BoxNode node = it.next();
              if (full)
              {
                  if (node != this 
                      && this.contentEncloses(node)
                      && (node.isRootNode() || !this.contentEncloses(node.nearestParent))) 
                  {
                      node.nearestParent = this;
                  }
              }
              else
              {
                  if (node != this 
                          && this.visuallyEncloses(node)
                          && (node.isRootNode() || !this.visuallyEncloses(node.nearestParent))) 
                  {
                      node.nearestParent = this;
                  }
              }
          }
      }
docs: Takes a list of nodes and selects the nodes that are located directly inside
  of this node's box. The {@code nearestParent} of the selected boxes is set to this box.
  @param list the list of nodes to test
  @param full when set to true, all the nodes within the box content bounds are considered.
  Otherwise, only the boxes within the visual bounds are considered.