apache poi adicionar tabela no documento do word

Eu tenho código Java para criar tabela e algum texto para documento do Word usando o Apache POI, mas ele adiciona tabela no último documento. Quero escrever um texto, adicionar tabela e escrever novamente.

Atualmente, ele adiciona a tabela primeiro e o último documento e adiciona 2 testes (Hi & Bye)

Meu código:

public static void main(String[] args)throws Exception {
        //Blank Document
        XWPFDocument document= new XWPFDocument();

        //Write the Document in file system
        FileOutputStream out = new FileOutputStream(
        new File("create_table.docx"));

        //create table
        XWPFTable table    = document.createTable();
        XWPFParagraph para = document.createParagraph();
        XWPFRun run        = para.createRun();

        run.setText("Hi");
        //create first row
        XWPFTableRow tableRowOne = table.getRow(0);
        tableRowOne.getCell(0).setText("col one, row one");
        tableRowOne.addNewTableCell().setText("col two, row one");
        tableRowOne.addNewTableCell().setText("col three, row one");
        //create second row
        XWPFTableRow tableRowTwo = table.createRow();
        tableRowTwo.getCell(0).setText("col one, row two");
        tableRowTwo.getCell(1).setText("col two, row two");
        tableRowTwo.getCell(2).setText("col three, row two");
        //create third row
        XWPFTableRow tableRowThree = table.createRow();
        tableRowThree.getCell(0).setText("col one, row three");
        tableRowThree.getCell(1).setText("col two, row three");
        tableRowThree.getCell(2).setText("col three, row three");

        run.setText("Bye");

        document.write(out);
        out.close();
        System.out.println("create_table.docx written successully");
}

Como posso imprimirHi primeiro da página e adicione tabela e imprimaBye depois da mesa?

E como posso salvar o documento toda vez que quero adicionar conteúdo a ele e finalmente escrevê-lo e abri-lo?

obrigado

questionAnswers(1)

yourAnswerToTheQuestion