docs: private static EventData replaceColumnValue(EventData newEventData, EventData oldEventData) {
          List<EventColumn> newColumns = newEventData.getColumns();
          List<EventColumn> oldColumns = oldEventData.getColumns();
          List<EventColumn> temp = new ArrayList<EventColumn>();
          for (EventColumn oldColumn : oldColumns) {
              boolean contain = false;
              for (EventColumn newColumn : newColumns) {
                  if (oldColumn.getColumnName().equalsIgnoreCase(newColumn.getColumnName())) {
                      newColumn.setUpdate(newColumn.isUpdate() || oldColumn.isUpdate());// 合并isUpdate字段
                      contain = true;
                  }
              }
  
              if (!contain) {
                  temp.add(oldColumn);
              }
          }
          newColumns.addAll(temp);
          Collections.sort(newColumns, new EventColumnIndexComparable()); // 排序
          // 把上一次变更的旧主键传递到这次变更的旧主键.
          newEventData.setOldKeys(oldEventData.getOldKeys());
          if (oldEventData.getSyncConsistency() != null) {
              newEventData.setSyncConsistency(oldEventData.getSyncConsistency());
          }
          if (oldEventData.getSyncMode() != null) {
              newEventData.setSyncMode(oldEventData.getSyncMode());
          }
  
          if (oldEventData.isRemedy()) {
              newEventData.setRemedy(oldEventData.isRemedy());
          }
          newEventData.setSize(oldEventData.getSize() + newEventData.getSize());
          return newEventData;
      }