public static Node createNodeAndAppend(Node containerNode, String nodeToCreateName, String nodeContent) {
        return createNodeAtPosition(containerNode, nodeToCreateName, nodeContent, null);
    }
@Test
    public void createNodeAndAppend() throws Exception {
        String newNodeName0 = "NEW_NODE_NAME_0";
        String newNodeValue0 = "NEW_NODE_VALUE_=";
        Document document = DOMParserUtil.getDocument(XML);
        Map<Node, List<Node>> testNodesMap = DOMParserUtil.getChildrenNodesMap(document, MAIN_NODE, TEST_NODE);
        assertThat(testNodesMap).hasSize(1);
        
        Node mainNode = testNodesMap.keySet().iterator().next();
        int startingChildNodes = mainNode.getChildNodes().getLength();
        
        Node retrieved = DOMParserUtil.createNodeAndAppend(mainNode, newNodeName0, newNodeValue0);
        
        assertThat(retrieved).isNotNull();
        assertThat(retrieved.getNodeName()).isEqualTo(newNodeName0);
        assertThat(retrieved.getTextContent()).isEqualTo(newNodeValue0);
        assertThat(mainNode.getChildNodes().item(mainNode.getChildNodes().getLength() - 1)).isEqualTo(retrieved);
        assertThat(mainNode.getChildNodes().getLength()).isEqualTo(startingChildNodes + 1);
        String newNodeName1 = "NEW_NODE_NAME_1";
        String newNodeValue1 = "NEW_NODE_VALUE_1";
        
        retrieved = DOMParserUtil.createNodeAndAppend(mainNode, newNodeName1, newNodeValue1);
        
        assertThat(retrieved).isNotNull();
        assertThat(retrieved.getNodeName()).isEqualTo(newNodeName1);
        assertThat(retrieved.getTextContent()).isEqualTo(newNodeValue1);
        assertThat(mainNode.getChildNodes().item(mainNode.getChildNodes().getLength() - 1)).isEqualTo(retrieved);
        assertThat(mainNode.getChildNodes().getLength()).isEqualTo(startingChildNodes + 2);
        String newNodeName2 = "NEW_NODE_NAME_2";
        String newNodeValue2 = "NEW_NODE_VALUE_2";

        retrieved = DOMParserUtil.createNodeAndAppend(mainNode, newNodeName2, newNodeValue2);
        
        assertThat(retrieved).isNotNull();
        assertThat(retrieved.getNodeName()).isEqualTo(newNodeName2);
        assertThat(retrieved.getTextContent()).isEqualTo(newNodeValue2);
        assertThat(mainNode.getChildNodes().item(mainNode.getChildNodes().getLength() - 1)).isEqualTo(retrieved);
        assertThat(mainNode.getChildNodes().getLength()).isEqualTo(startingChildNodes + 3);
        assertThat(mainNode.getChildNodes().item(startingChildNodes).getNodeName()).isEqualTo(newNodeName0);
        assertThat(mainNode.getChildNodes().item(startingChildNodes).getTextContent()).isEqualTo(newNodeValue0);
        assertThat(mainNode.getChildNodes().item(startingChildNodes + 1).getNodeName()).isEqualTo(newNodeName1);
        assertThat(mainNode.getChildNodes().item(startingChildNodes + 1).getTextContent()).isEqualTo(newNodeValue1);
        assertThat(mainNode.getChildNodes().item(startingChildNodes + 2).getNodeName()).isEqualTo(newNodeName2);
        assertThat(mainNode.getChildNodes().item(startingChildNodes + 2).getTextContent()).isEqualTo(newNodeValue2);
    }