code: protected Node findNode(int nodeStreamID) {
  
          // mainline debug in this recursive method is way to verbose, so only debug when we find what we are looking for
  
          if (nodeStreamID == this.streamID) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "findNode exit: bottom of recursion, found node: " + this);
              }
              return this;
          } else {
              Iterator<Node> iter = dependents.iterator();
              Node found = null;
              while (iter.hasNext()) {
                  found = iter.next().findNode(nodeStreamID);
                  if (found != null) {
                      return found;
                  }
              }
  
              return null;
          }
      }
docs: Starting with this node, find the node matching the input stream ID, look at this node and all dependents recursively.
  To search the whole tree start by calling findNode on the root node.
  
  @param nodeStreamID
  @return