private BitSetNode update(BitSetNode node, long procId) {
    node = lookupClosestNode(node, procId);
    assert node != null : "expected node to update procId=" + procId;
    assert node.contains(procId) : "expected procId=" + procId + " in the node";
    if (node == null) {
      throw new NullPointerException("pid=" + procId);
    }
    node.insertOrUpdate(procId);
    trackProcIds(procId);
    return node;
  }
Resets internal state to same as given {@code tracker}, and change the deleted flag according
to the modified flag if {@code resetDelete} is true. Does deep copy of the bitmap.
<p/>
The {@code resetDelete} will be set to true when building cleanup tracker, please see the
comments in {@link BitSetNode#BitSetNode(BitSetNode, boolean)} to learn how we change the
deleted flag if {@code resetDelete} is true.
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureStoreTracker.java