### Question:
StateBackupService { public static Path dataFileToIndex(final Path dataName) { return Path.of(dataName.toString().replaceAll("(.*)[-.]\\d\\d\\d\\d\\.(.)dat", "$1.$2idx")); } StateBackupService(
      final String besuVesion,
      final Blockchain blockchain,
      final Path backupDir,
      final EthScheduler scheduler,
      final WorldStateStorage worldStateStorage); Path getBackupDir(); BackupStatus requestBackup(
      final long block, final boolean compress, final Optional<Path> backupDir); static Path dataFileToIndex(final Path dataName); static Path accountFileName(
      final Path backupDir,
      final long targetBlock,
      final int fileNumber,
      final boolean compressed); static Path headerFileName(
      final Path backupDir, final int fileNumber, final boolean compressed); static Path bodyFileName(
      final Path backupDir, final int fileNumber, final boolean compressed); static Path receiptFileName(
      final Path backupDir, final int fileNumber, final boolean compressed);  }### Answer:
@Test public void fileIndexRenames() { assertThat(StateBackupService.dataFileToIndex(Path.of("/tmp/besu-blocks-0000.cdat")).toString()) .isEqualTo("/tmp/besu-blocks.cidx"); assertThat(StateBackupService.dataFileToIndex(Path.of("/tmp/besu.blocks.0000.rdat")).toString()) .isEqualTo("/tmp/besu.blocks.ridx"); }