public static void modifyAlignedChunkMetaData(
      List<AlignedChunkMetadata> chunkMetaData, List<List<ModEntry>> modifications) {
    for (AlignedChunkMetadata metaData : chunkMetaData) {
      modifyValueColumns(metaData, modifications);
    }
    // if all sub sensors' chunk metadata are deleted, then remove the aligned chunk metadata
    // otherwise, set the deleted chunk metadata of some sensors to null
    chunkMetaData.removeIf(
        alignedChunkMetadata -> {
          // the whole aligned path need to be removed, only set to be true if all the sub sensors
          // are deleted
          // the whole aligned path is modified, set to be true if any sub sensor is modified
          return areAllValueColumnsDeleted(alignedChunkMetadata, false);
        });
  }
modifyChunkMetaData iterates the chunkMetaData and applies all available modifications on it to
generate a ModifiedChunkMetadata. <br>
the caller should guarantee that chunkMetaData and modifications refer to the same time series
paths.

@param chunkMetaData the original chunkMetaData.
@param modifications all possible modifications.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/ModificationUtils.java