code: public synchronized boolean changeNodePriority(int streamID, int newPriority) {
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "changeNodePriority entry: streamID to change: " + streamID + " new Priority: " + newPriority);
          }
  
          Node nodeToChange = root.findNode(streamID);
          Node parentNode = nodeToChange.getParent();
          if ((nodeToChange == null) || (parentNode == null)) {
              return false;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "node to change: " + nodeToChange + " has parent node of: " + parentNode);
          }
  
          // change the priority, clear the write counts and sort the nodes at that level in the tree
          nodeToChange.setPriority(newPriority);
  
          parentNode.clearDependentsWriteCount();
          parentNode.sortDependents();
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "changeNodePriority exit: node changed: " + nodeToChange.toStringDetails());
          }
  
          return true;
      }
docs: Change the priority of the desired stream/node.
  Reset all the sibling weighted priorities and re-sort the siblings, since once on priority changes, all priority ratios need to be updated and changed.
  
  @param streamID
  @param newPriority
  @return the Node that was changed, null if the node could not be found