docs: private CatchStatement createCatchBlockForOuterNewTryCatchStatement(String primaryExcName) {
          // { ... }
          BlockStatement blockStatement = new BlockStatement();
          String tExcName = this.genTExcName();
  
          // #primaryExc = #t;
          ExpressionStatement primaryExcAssignStatement =
                  new ExpressionStatement(
                          new BinaryExpression(
                                  new VariableExpression(primaryExcName),
                                  newSymbol(Types.ASSIGN, -1, -1),
                                  new VariableExpression(tExcName)));
          astBuilder.appendStatementsToBlockStatement(blockStatement, primaryExcAssignStatement);
  
          // throw #t;
          ThrowStatement throwTExcStatement = new ThrowStatement(new VariableExpression(tExcName));
          astBuilder.appendStatementsToBlockStatement(blockStatement, throwTExcStatement);
  
          // Throwable #t
          Parameter tExcParameter = new Parameter(ClassHelper.make(Throwable.class), tExcName);
  
          return new CatchStatement(tExcParameter, blockStatement);
      }