public TryDefinition doFinally() {
        popBlock();
        FinallyDefinition answer = new FinallyDefinition();
        addOutput(answer);
        pushBlock(answer);
        return this;
    }
@Test
    public void doFinallyTest() {
        TryDefinition tryDefinition = new TryDefinition();
        CatchDefinition catchDefinition = new CatchDefinition();
        FinallyDefinition finallyDefinition = new FinallyDefinition();
        tryDefinition.addOutput(new ToDefinition("mock:1"));
        catchDefinition.setExceptions(List.of("java.lang.Exception"));
        catchDefinition.addOutput(new ToDefinition("mock:2"));
        finallyDefinition.addOutput(new ToDefinition("mock:3"));
        tryDefinition.addOutput(catchDefinition);
        tryDefinition.addOutput(finallyDefinition);
        Assertions.assertDoesNotThrow(tryDefinition::preCreateProcessor);
        TryDefinition tryDefinition1 = tryDefinition.copyDefinition();
        Assertions.assertDoesNotThrow(tryDefinition1::preCreateProcessor);

        FinallyDefinition finallyDefinition1 = new FinallyDefinition();
        finallyDefinition.addOutput(new ToDefinition("mock:4"));
        tryDefinition.addOutput(finallyDefinition1);
        Assertions.assertThrows(IllegalArgumentException.class, tryDefinition::preCreateProcessor);
    }