@Override
  public MeasurementPath clone() {
    MeasurementPath newMeasurementPath = null;
    try {
      newMeasurementPath =
          new MeasurementPath(
              this.getIDeviceID(), this.getMeasurement(), this.getMeasurementSchema());
      newMeasurementPath.setUnderAlignedEntity(this.isUnderAlignedEntity);
      newMeasurementPath.setMeasurementAlias(this.measurementAlias);
      if (tagMap != null) {
        newMeasurementPath.setTagMap(new HashMap<>(tagMap));
      }
    } catch (IllegalPathException e) {
      logger.warn("path is illegal: {}", this.getFullPath(), e);
    }
    return newMeasurementPath;
  }
if isUnderAlignedEntity is true, return an AlignedPath with only one sub sensor otherwise,
return itself
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/path/MeasurementPath.java