docs: synchronized void mergeRollback(Row row) {
  
          RowActionBase action = this;
          RowActionBase head   = null;
          RowActionBase tail   = null;
  
          if (type == RowActionBase.ACTION_DELETE_FINAL
                  || type == RowActionBase.ACTION_NONE) {
              return;
          }
  
          do {
              if (action.rolledback) {
                  if (tail != null) {
                      tail.next = null;
                  }
              } else {
                  if (head == null) {
                      head = tail = action;
                  } else {
                      tail.next = action;
                      tail      = action;
                  }
              }
  
              action = action.next;
          } while (action != null);
  
          if (head == null) {
              boolean exists = (type == RowActionBase.ACTION_DELETE);
  
              if (exists) {
                  setAsNoOp(row);
              } else {
                  setAsDeleteFinal();
              }
          } else {
              if (head != this) {
                  setAsAction(head);
              }
          }
      }