docs: public synchronized boolean updateNode(int streamID, NODE_STATUS status, WRITE_COUNT_ACTION writeCountAction, H2WriteQEntry entry) {
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              if (entry == null) {
                  Tr.debug(tc, "updateNode entry: null" + " streamID: " + streamID + " status: " + status + " writeCountAction: " + writeCountAction);
              } else {
                  Tr.debug(tc, "updateNode entry: " + entry.hashCode() + " streamID: " + streamID + " status: " + status + " writeCountAction: " + writeCountAction);
              }
          }
  
          Node nodeToUpdate = root.findNode(streamID);
  
          if (nodeToUpdate == null) {
              return false;
          }
  
          if (entry != null) {
              nodeToUpdate.setEntry(entry);
          }
  
          // Change status unless told not to
          if (status != NODE_STATUS.ACTION_NO_CHANGE) {
              if (status == NODE_STATUS.ACTION_RESET_IF_LATCHED) {
                  if (nodeToUpdate.getStatus() == NODE_STATUS.WRITE_LATCHED) {
                      nodeToUpdate.setStatus(NODE_STATUS.NOT_REQUESTING);
                  }
              } else {
                  nodeToUpdate.setStatus(status);
              }
          }
  
          // Do the count action, unless it is NO_ACTION
          if (writeCountAction == WRITE_COUNT_ACTION.INCREMENT) {
              nodeToUpdate.incrementWriteCount();
              Node parentNode = nodeToUpdate.getParent();
              if (parentNode != null) {
                  parentNode.incrementDependentWriteCount();
  
                  // need to re-arrange all nodes at this level because of count change
                  parentNode.sortDependents();
                  // special debug - too verbose for big trees
                  //if ((nodeToUpdate.writeCount % 100) == 0) {
                  //    if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  //        Tr.debug(tc, "updateNode after sorting: tree is now:" + getTreeDump());
                  //    }
                  //}
  
              } else if (writeCountAction == WRITE_COUNT_ACTION.CLEAR) {
                  nodeToUpdate.setWriteCount(0);
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "updateNode exit: node updated to: " + nodeToUpdate.toStringDetails());
          }
  
          return true;
      }