public boolean canBeSubsumed() {
        // If the checkpoint is forced, it cannot be subsumed.
        return !props.isSavepoint();
    }
@Test
    void testCanBeSubsumed() throws Exception {
        // Forced checkpoints cannot be subsumed
        CheckpointProperties forced =
                new CheckpointProperties(
                        true,
                        SavepointType.savepoint(SavepointFormatType.CANONICAL),
                        false,
                        false,
                        false,
                        false,
                        false,
                        false);
        final PendingCheckpoint pending = createPendingCheckpoint(forced);
        assertThat(pending.canBeSubsumed()).isFalse();

        assertThatThrownBy(
                        () -> abort(pending, CheckpointFailureReason.CHECKPOINT_SUBSUMED),
                        "Did not throw expected Exception")
                .isInstanceOf(IllegalStateException.class);

        // Non-forced checkpoints can be subsumed
        CheckpointProperties subsumed =
                new CheckpointProperties(
                        false,
                        SavepointType.savepoint(SavepointFormatType.CANONICAL),
                        false,
                        false,
                        false,
                        false,
                        false,
                        false);
        assertThat(createPendingCheckpoint(subsumed).canBeSubsumed()).isFalse();
    }