Agregar ArrayList a otra ArrayList en java

Tengo el siguiente código de Java, en el que estoy intentando copiar el ArrayList a otro ArrayList.

 ArrayList<String> nodes = new ArrayList<String>();
 ArrayList NodeList=new ArrayList();
 ArrayList list=new ArrayList();

        for(int i=0;i<PropertyNode.getLength()-1;i++){
            Node childNode =  PropertyNode.item(i);
                NodeList Children = childNode.getChildNodes();

                if(Children!=null){
                    nodes.clear();
                    nodes.add("PropertyStart");
                    nodes.add(Children.item(3).getTextContent());
                    nodes.add(Children.item(7).getTextContent());
                    nodes.add(Children.item(9).getTextContent());
                    nodes.add(Children.item(11).getTextContent());
                    nodes.add(Children.item(13).getTextContent());
                    nodes.add("PropertyEnd");

                }   
                NodeList.addAll(nodes);
                list.add(NodeList);
        }

Quiero que la matriz "list" esté en este formato:

[[PropertyStart,a,b,c,PropertyEnd],[PropertyStart,d,e,f,PropertyEnd],[PropertyStart,......]]

Pero a partir del código anterior, la salida de la matriz "lista" se ve así:

[PropertyStart,a,b,c,PropertyEnd,PropertyStart,d,e,f,PropertyEnd,PropertyStart,....PropertyEnd]

Creo que te habrás dado cuenta de la diferencia. No puedo lograr el resultado en el formato esperado. Por favor sugiéreme alguna solución !! ¡¡Gracias por adelantado!!

Respuestas a la pregunta(6)

Su respuesta a la pregunta