private void updateTableDescriptorWithSFT() {
    if (StringUtils.isEmpty(customSFT)) {
      return;
    }

    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableDescriptor);
    builder.setValue(StoreFileTrackerFactory.TRACKER_IMPL, customSFT);
    for (ColumnFamilyDescriptor family : tableDescriptor.getColumnFamilies()) {
      ColumnFamilyDescriptorBuilder cfBuilder = ColumnFamilyDescriptorBuilder.newBuilder(family);
      cfBuilder.setConfiguration(StoreFileTrackerFactory.TRACKER_IMPL, null);
      cfBuilder.setValue(StoreFileTrackerFactory.TRACKER_IMPL, null);
      builder.modifyColumnFamily(cfBuilder.build());
    }
    tableDescriptor = builder.build();
  }
If a StoreFileTracker is specified we strip the TableDescriptor from previous SFT config and
set the specified SFT on the table level
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/CloneSnapshotProcedure.java